【Flutter】Firebase初期セットアップ
Firebaseへログイン
プロジェクトを追加
※プロジェクトの単位はアプリ(IOS・Android)で1つ作成
※無料プランだと作成できるプロジェクトは5-10
・プロジェクトの作成(手順 1/3)
アプリのプロジェクト名を付けましょう。
・プロジェクトの作成(手順 2/3)
Google アナリティクスの有効・無効を選択
※基本的に有効でOK
・プロジェクトの作成(手順 3/3)
Google アナリティクスの有効を選択した場合、どのアカウントに紐づけるかを設定。
※アカウントに対し、アプリの単位ごとに解析結果を照会できるため、既存のアカウントがあればそのまま使用してOK
プロジェクトの作成を押すとSpark(無料)プランでプロジェクトが作成される。
セットアップ(Android)
公式ドキュメント
Android公式ドキュメント
プロジェクトのトップページの以下Androidアイコンを押下
①アプリの登録
・Androidパッケージ名
Flutterのプロジェクト作成時に設定したプロジェクト名を設定
※忘れてしまった場合は、androidパッケージ配下のアプリレベルのbuild.gradleファイルの"applicationId"の値を使用
・アプリのニックネーム
コンソール上で確認するのアプリの名前を設定
※省略可能(記載する場合はプラットフォームごとに名前を分けた方がいい)
・デバッグ用の署名証明書 SHA-1
認証時に使用するコード
※認証機能設定時に再設定可能なため一旦記載なしでOK
アプリの登録を押下で完了
②設定ファイルのダウンロード
google-services.json のダウンロード ボタンを押下し、設定ファイルを取得
ダウンロードしたファイルをプロジェクトフォルダのandroid/app配下に配置
③Firebase SDKの追加
プロジェクトレベルのbuild.gradleファイルを以下"classpath"の記載を追加
buildscript {
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
}
dependencies {
...
// Add this line
classpath 'com.google.gms:google-services:4.3.10'
}
}
allprojects {
...
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
...
}
}
※Googleのリポジトリ指定は基本的に設定済
アプリレベルのbuild.gradleファイルに以下記載を追加
...
// Add the following line:
apply plugin: 'com.google.gms.google-services'
...
※dependenciesにて追加するFirebaseの各種SDKは、firebase_coreプラグインに内包されているため設定不要
コンソール上での設定は以上で終了です。
Terminalから以下コマンドを実行。(AndroidStudioの場合)
flutter packages get
セットアップ(IOS)
iOS公式ドキュメント
プロジェクトのトップページの以下iOSアイコンを押下
①アプリの登録
・iOSバンドルID
Flutterのプロジェクト作成時に設定したプロジェクト名を設定
※忘れてしまった場合は、XcodeのGeneralタブに記載の"Bundle Identifier"の値を使用
・アプリのニックネーム
コンソール上で確認するのアプリの名前を設定
※省略可能(記載する場合はプラットフォームごとに名前を分けた方がいい)
・App Store ID
公開済みのアプリの場合はIDを入力
アプリの登録を押下で完了
②設定ファイルのダウンロード
GoogleService-Info.plist のダウンロード ボタンを押下し、設定ファイルを取得
ダウンロードしたファイルをXcodeのRunner/Runner ディレクトリにファイルに配置。
※AndroidStudioから配置しないように注意
その他手順(③・④・⑤)は全部スキップで構いません。
プラグインの追加
pubspec.yamlファイルに"firebase_core"プラグインを追加する。
※NullSafety対応が必要な場合は最新版ではなく、該当のバージョンでインストールしてください。
問題(iOSビルドが遅い場合)
※Podfileを修正した場合は念のため、"flutter clean"→"flutter pub get"を実行し直してみてください。
※最新のパッケージバージョンは以下サイトを参照。
# ...
target 'Runner' do
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.3.0'
# ...
end
iOS実行時エラー
Error output from CocoaPods:
↳
Ignoring ffi-1.14.1 because its extensions are not built. Try: gem pristine ffi --version 1.14.1
[!] Automatically assigning platform `iOS` with version `9.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
Error running pod install
現在のデフォルト
amdroid
以下を修正(AndroidStudioから修正可)
...
defaultConfig {
applicationId ""
minSdkVersion 21
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
...
iOS
XcodeからRunnerのGeneralのDeplpyment InfoのiOSのバージョン指定を9.0→10.0に変更
設定動作確認
以下内容を追記し、エミュレーターで実行
・・・
import 'package:firebase_core/firebase_core.dart';
・・・
void main() {
WidgetsFlutterBinding.ensureInitialized();
final Future<FirebaseApp> _initialization = Firebase.initializeApp();
runApp(MyApp());
}
・・・
Discussion