【Flutter】【Firestore】接続手順まとめ

4 min read読了の目安(約4400字

はじめに

FlutterでFirestoreを使用するための手順をまとめる。

この記事を読むとわかること

FlutterでFireStoreを使用する際の初期設定がわかる。
これさえやっておけば、すぐにFIrestoreコマンドを実行できるようになる。

本編

0.パッケージインストール

①下記公式サイトのinstallページで最新のパッケージを確認する。

https://pub.dev/packages/firebase_core/install

https://pub.dev/packages/cloud_firestore/install

②下記のように記載する。(下記のバージョンは例です。)

/pubspec.yaml
dependencies:
  firebase_core: ^0.3.0  ⇐ ★"これを追加★
  cloud_firestore: ^0.9.5  ⇐ ★"これを追加★

③下記インストールコマンドを実行する。

flutter pub get

1.Firebaseコンソールからプロジェクトを追加する。

① 任意のプロジェクト名を決める。
②「Google アナリティクス」は便利なので、有効のまま「続行」を押下する。
③「Default Account for Firebase」を選択して「プロジェクトを作成」を押下する。

2.FirebaseコンソールからAndroidアプリを追加する。

①下記のAndroidアイコンを押下する。

Firebaseから引用
②アプリの登録
 ②-1)「Androidパッケージ名」を下記ファイルで確認して入力する。

/android/app/build.gradle
android {
    compileSdkVersion 30
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "XXXXXXXXXX" ⇐ ★"XXXXXXXXXX"がAndroidパッケージ名★
        minSdkVersion 23 ⇐ ★数字を23に変更★
        targetSdkVersion 30

②-2)「アプリを登録」を押下する。
③設定ファイルのダウンロード
    ・「google-services.jsonをダウンロード」を押下する。
    ・ダウンロードしたファイルを/android/appに格納する。
④Firebase SDKの追加
    ・下記2ファイルを編集する。

/android/build.gradle
buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 
        classpath 'com.google.gms:google-services:4.3.8'  ⇐ ★"これを追加★
/android/app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
apply plugin: 'com.google.gms.google-services'  ⇐ ★"これを追加★

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~省略~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation platform('com.google.firebase:firebase-bom:28.0.1')
    implementation 'com.google.firebase:firebase-analytics'  ⇐ ★"これを追加★

3.FirebaseコンソールからiOSアプリを追加する。

①下記のiOSアイコンを押下する。

Firebaseから引用
②アプリの登録
 ②-1)「iOSバンドルID」をXCODEで確認して入力する。
    XCODEで「/ios/Runner.xcworkspace」を開き、Runnerファイルを選択し、GeneralタブのBundle identifierに記載されている文字列
    
 ②-2)「アプリを登録」を押下する。
③設定ファイルのダウンロード
    ・「GoogleService-Info.plistをダウンロード」を押下する。
    ・ダウンロードしたファイルを/ios/Runner/に格納する。
④Firebase SDKの追加
 ④-1)下記ファイルを編集する。

/ios/Podfile
# add the Firebase pod for Google Analytics
pod 'Firebase/Analytics'
# or pod ‘Firebase/AnalyticsWithoutAdIdSupport’
# for Analytics without IDFA collection capability

# add pods for any other desired Firebase products
# https://firebase.google.com/docs/ios/setup#available-pods

④-2)下記コマンドを実行

pod install

※1.下記エラーが出た場合はこちらをご参考ください。

[!] CocoaPods could not find compatible versions for pod "cloud_firestore":
  In Podfile:
    cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)

※2.下記のエラーが出た場合は次の手順を実行

[!] CocoaPods could not find compatible versions for pod "Firebase/Firestore":
  In Podfile:
    cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) was resolved to 2.2.0, which depends on
      Firebase/Firestore (= 8.0.0)

下記コマンドを実行

pod repo update

pod install

⑤初期化コードの追加

/ios/Runner/AppDelegate.swift
import UIKit
import Flutter
import Firebase  ⇐ ★"これを追加★
import FirebaseCore  ⇐ ★"これを追加★

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    FirebaseApp.configure()  ⇐ ★"これを追加★
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

4.おまけ

Androidビルド時に下記のエラーが発生した場合はこちらをご参考ください。

注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。

以上で完了です。