| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「FlutterFire」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
174行目: 174行目:
 
Successfully switched to flutter channel 'stable'.
 
Successfully switched to flutter channel 'stable'.
 
To ensure that you're on the latest build from this channel, run 'flutter upgrade'
 
To ensure that you're on the latest build from this channel, run 'flutter upgrade'
 +
</pre>
 +
*確認
 +
<pre>
 +
$ flutter channel
 +
Flutter channels:
 +
  master
 +
  dev
 +
  beta
 +
* stable
 
</pre>
 
</pre>
  
214行目: 223行目:
 
platform :osx, '10.12'
 
platform :osx, '10.12'
 
</pre>
 
</pre>
 +
 
===Google===
 
===Google===
 
*[https://console.firebase.google.com/project/_/authentication/providers Firebase コンソール] で Googleサインインプロバイダーを有効化
 
*[https://console.firebase.google.com/project/_/authentication/providers Firebase コンソール] で Googleサインインプロバイダーを有効化

2021年8月1日 (日) 12:37時点における版

| Dart | ブログカテゴリ(Flutter) | Android Studio | Flutter macos | Flutter 手順 |

FlutterFire

Overview


Firebase CLI


  1. $ npm install -g firebase-tools

Install


  • Migration
  • Firebase のサービスを利用する前に、まず firebase_core プラグインをインストールする必要があります。
  • このプラグインは、アプリケーションを Firebase に接続する役割を果たします。
  • このプラグインをpubspec.yamlファイルに追加します。

pubspec.yaml

  1. dependencies:
  2. flutter:
  3. sdk: flutter
  4. firebase_core: "^1.3.0"
  1. $ flutter pub get

Platform


Android


build.gradle

  • android/build.gradle
  1. buildscript {
  2. dependencies {
  3. // ... other dependencies
  4. classpath 'com.google.gms:google-services:4.3.8'
  5. }
  6. }
  • android/app/build.gradle
  1. apply plugin: 'com.google.gms.google-services'
署名

  • https://developers.google.com/android/guides/client-auth
  • Java に付属の keytool ユーティリティを実行して、証明書の SHA-1 フィンガープリントを取得します。
  • リリース証明書のフィンガープリントとデバッグ証明書のフィンガープリントの両方を取得する必要があります。
    • リリース証明書のフィンガープリントを取得
  1. keytool -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
    • デバッグ証明書のフィンガープリントを取得
    • デフォルトパスワードは android
  1. keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
"google-services.json" file to the project?

  • https://firebase.google.com/docs/android/setup?hl=ja
  • Firebase Android 構成ファイルをアプリに追加します。
  • google-services.json のダウンロード ボタン をクリックして、Firebase Android 構成ファイル(google-services.json)を取得します。
  • 構成ファイルをアプリのモジュール(アプリレベル)ディレクトリに移動します。

iOS


https://firebase.google.com/docs/ios/setup

GoogleService-Info.plist 追加

Ios flutter fire.png

fatal error: module 'firebase_core' not found エラー

  1. Error output from Xcode build:
  2. ** BUILD FAILED **
  3.  
  4.  
  5. Xcode's output:
  6. /Users/hirotoyagi/Workspaces/flutter/tenarai_online/ios/Runner/GeneratedPluginRegistrant.m:10:9: fatal error: module 'firebase_core'
  7. not found
  8. @import firebase_core;
  1. $ flutter clean
  2. $ cd ios
  3. $ rm -rf Pods
  4. $ rm Podfile.lock Podfile
  5. $ flutter run
  • Podfile
  1. # Uncomment this line to define a global platform for your project
  2. platform :ios, '10.0'

macOS


  • XCodeで、open ./macos/Runner.xcworkspace/

Flutterfire google plist macos.png

  • GoogleService-Info.plist
    • ダウンロード
    • Runner右クリックからファイルを追加
    • 以下の画面のチェックをONにして追加

Firebase Emulator Suiteの一部を使用して、開発中のローカルマシンでfirebaseサービスをエミュレートしたい場合は、macOSアプリが安全でない接続でローカルネットワークサービスに接続することを許可する必要があります。安全でない接続を許可するには、アプリケーションのplistファイル内に以下を追加

  1. <key>NSAppTransportSecurity</key>
  2. <dict>
  3. <key>NSAllowsLocalNetworking</key>
  4. <true/>
  5. </dict>
  • 以下のエラーの場合
  1. [!] The FlutterFire plugin firebase_core for macOS requires a macOS deployment target of 10.12 or later.
    • macos/Podfileの修正
  1. platform :osx, '10.12'

Windows


  • C++によるデスクトップ開発のインストール

Flutter win.png

Web


初期化


  • Firebaseのサービスを使用する前に、FlutterFireを初期化する必要があります
  • 初期化ステップは非同期なので完了するまではFlutterFire関連の使用を禁止する必要があります。
  • FlutterFireを初期化するには、FirebaseクラスのinitializeAppメソッドを呼び出します

Authentication

Instration

Stableチャネルに切り替え

  1. $ flutter channel stable
  2. Switching to flutter channel 'stable'...
  3. git: From https://github.com/flutter/flutter
  4. git: + 2b9537c783...cc00e7e6bc dev -> origin/dev (forced update)
  5. git: * [new branch] dnfield-patch-1 -> origin/dnfield-patch-1
  6. git: * [new branch] flutter-2.4-candidate.1 -> origin/flutter-2.4-candidate.1
  7. git: * [new branch] flutter-2.4-candidate.2 -> origin/flutter-2.4-candidate.2
  8. git: * [new branch] flutter-2.4-candidate.3 -> origin/flutter-2.4-candidate.3
  9. git: * [new branch] flutter-2.4-candidate.4 -> origin/flutter-2.4-candidate.4
  10. git: * [new branch] flutter-2.4-candidate.5 -> origin/flutter-2.4-candidate.5
  11. git: 52e2ca38fc..2108fbd78d master -> origin/master
  12. git: + c8311f68be...f4d2c79a6a revert-85466-revert-85221-0624new -> origin/revert-85466-revert-85221-0624new (forced update)
  13. git: * [new branch] revert-86171-revert-83924-textTheme -> origin/revert-86171-revert-83924-textTheme
  14. git: * [new branch] revert-86198-deprecate_appbar_backwards_compatibility_flag -> origin/revert-86198-deprecate_appbar_backwards_compatibility_flag
  15. git: * [new branch] test -> origin/test
  16. git: * [new branch] test2 -> origin/test2
  17. git: * [new tag] 2.4.0-0.0.pre -> 2.4.0-0.0.pre
  18. git: * [new tag] 2.4.0-4.0.pre -> 2.4.0-4.0.pre
  19. git: Already on 'stable'
  20. git: Your branch is up to date with 'origin/stable'.
  21. Successfully switched to flutter channel 'stable'.
  22. To ensure that you're on the latest build from this channel, run 'flutter upgrade'
  • 確認
  1. $ flutter channel
  2. Flutter channels:
  3. master
  4. dev
  5. beta
  6. * stable

pubspec.yaml

  • firebase_authを追記
  1. dependencies:
  2. flutter:
  3. sdk: flutter
  4. firebase_core: "^1.4.0"
  5. firebase_auth: "^3.0.1"
  • 更新
  1. $ flutter pub get

Web


  • 追記
  1. <script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-auth.js"></script>

iOS/macOS


  • cd ios/macos
  • macos 例
  1. $ flutter clean
  2. $ rm -rf Pods
  3. $ rm Podfile
  4. $ rm Podfile.lock
  5. $ pod repo update
  6. $ flutter run -d macos
  • Podfile
  1. platform :osx, '10.12'

Google

iOS

  • ios/Runner/info.plist
  1. <!-- Put me in the [my_project]/ios/Runner/Info.plist file -->
  2. <!-- Google Sign-in Section -->
  3. <key>CFBundleURLTypes</key>
  4. <array>
  5. <dict>
  6. <key>CFBundleTypeRole</key>
  7. <string>Editor</string>
  8. <key>CFBundleURLSchemes</key>
  9. <array>
  10. <!-- TODO Replace this value: -->
  11. <!-- Copied from GoogleService-Info.plist key REVERSED_CLIENT_ID -->
  12. <string>com.googleusercontent.apps.{GoogleService-Info.plist から、この部分を取得する}</string>
  13. </array>
  14. </dict>
  15. </array>
  16. <!-- End of the Google Sign-in Section -->