【Flutter】Firebase初期設定
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で使用するインデックス設定が記述されているファイル。