Open1

【Flutter】Firebase初期設定

Azusa UtayaAzusa Utaya

Firebase側でプロジェクトを作成し、androidやiosディレクトリにplistファイルなどを入れたあとの流れ
※iosはXcodeでプロジェクトを開き、Runner下にplistファイルを配置しなければならない。

1. Androidの設定

  • android/build.gradleファイルにGoogleサービスのプラグインを追加する。
buildscript {
    dependencies {
        // 既存の依存関係
        classpath 'com.google.gms:google-services:4.3.15'  // Googleサービスプラグインのバージョンを確認
    }
}
  • android/app/build.gradleファイルの末尾に、Googleサービスのプラグインを適用する。
apply plugin: 'com.google.gms.google-services'

2. iOSの設定

  • Podfileにプラットフォームバージョンを設定します。通常、最低10.0に設定する。
platform :ios, '10.0'
  • ターミナルで以下のコマンドを実行して、CocoaPodsの依存関係をインストールする。
cd ios
pod install
cd ..

3. Firebaseの初期化

アプリの初期化時に、Firebaseを初期化する必要があるため、下記のコードを追加する。通常は、main.dartファイルで行う。

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'app.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();  //追加
  await Firebase.initializeApp();  // 追加(Firebaseの初期化)
  runApp(
    const ProviderScope(
      child: MyApp(),
    ),
  );
}

Firebaseを初期化した後は、Firestoreを使用できる。場合によっては、設定が反映されるためにエミュレーターを再起動する必要があることがある。
また、iOSの場合、Xcodeでアプリのビルド設定を確認し、正しいBundle Identifierが設定されていること、そして適切なチームが選択されていることを確認すると良い。

リアルタイムデータベースなど、特別な機能を使用する場合は、android/app/src/main/AndroidManifest.xmlにインターネットアクセス許可が必要な場合がある。

コマンドによる設定

Firebaseコンソールで、該当プロジェクトの左側メニューからFirestore Databaseを選択
データベースの作成ボタンをクリックし、Cloud Firestoreの設定を開始し、Firestoreデータベースを作成
Firebase CLIのインストール

npm install -g firebase-tools

Firebaseプロジェクトの初期化

firebase init

※個別の機能を指定して初期化を行うことも可能

firebase init firestore

.firebaserc、firestore.rules、firestore.json、firestore.indexes.jsonファイルが自動生成される。

各ファイルの役割

どのファイルもルートディレクトリに置いておく必要がある。

.firebaserc

プロジェクトの設定やエイリアスを管理するファイルです。このファイルはプロジェクト全体に関わる設定を保持している。

firestore.rules

Firestoreのセキュリティルールが記述されているファイル。ここでデータベースへのアクセス権を制御する。

firestore.indexes.json

Firestoreで使用するインデックス設定が記述されているファイル。