Firebaseのセットアップ
アプリをFirebaseプロジェクトに接続します。
「Firebaseのセットアップ」はCoddyKit上の無料Android Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAndroid Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Android Academyコースには全4レッスンが含まれています。
Firebaseとは
Firebaseは、Googleのアプリ開発プラットフォームです。Androidアプリ向けのすぐに使えるバックエンドを提供するため、サーバーを自分で構築・ホスティングする必要がありません。
このコースでは、アプリをFirebaseに接続し、特に人気の高い次の3つのサービスを使用します。
- Authentication — メールアドレスやGoogleでユーザーをサインインさせます
- Cloud Firestore — リアルタイムNoSQLデータベースです
- Cloud Messaging (FCM) — プッシュ通知を提供します
最初のレッスンでは、プロジェクトを作成してAndroidアプリに接続するセットアップを行います。
Firebaseプロジェクトの作成
すべての作業は、console.firebase.google.comにあるFirebaseコンソールから始まります。
- Add projectをクリックし、プロジェクト名を入力します。
- 各Firebaseプロジェクトは、内部的にはGoogle Cloudプロジェクトに対応しています。
- 1つのFirebaseプロジェクトに、Android、iOS、Webなど複数のアプリを登録できます。
プロジェクト内で、アプリのapplication ID(パッケージ名)を使って対象のAndroidアプリを登録します。例:com.coddykit.demo。このIDによって、Firebaseはリクエスト元のアプリを識別します。
google-services.jsonファイル
Androidアプリを登録すると、Firebaseはgoogle-services.jsonという設定ファイルを生成します。
このファイルをダウンロードし、アプリモジュールのルートフォルダー(build.gradle.ktsと同じ場所で、app/ディレクトリ内)に配置します。
このJSONには、プロジェクトID、APIキー、アプリの登録情報が含まれています。ビルドツールが自動的に読み取るため、手動で開くことはほとんどありません。
// File location in your project:
// app/google-services.json
// It is generated for you and looks roughly like:
{
"project_info": {
"project_id": "my-demo-app",
"storage_bucket": "my-demo-app.appspot.com"
},
"client": [
{ "client_info": { "mobilesdk_app_id": "1:1234567890:android:abc123" } }
]
}Google Servicesプラグインの追加
Gradleでgoogle-services.jsonを読み取れるようにするには、Google Services Gradleプラグインを追加します。
現在の方法では、バージョンカタログを使ったpluginsブロックを使用します。ルートのビルドファイルでapply falseを指定してプラグインを宣言し、その後モジュールのビルドファイルで適用します。
// Root build.gradle.kts (project level)
plugins {
id("com.android.application") version "8.5.0" apply false
id("org.jetbrains.kotlin.android") version "2.0.0" apply false
id("com.google.gms.google-services") version "4.4.2" apply false
}モジュールでのプラグイン適用
appモジュールのbuild.gradle.ktsでプラグインを適用し、ビルド時に設定ファイルが処理されるようにします。
この行がないと、他の設定がすべて正しくても、実行時にFirebaseの初期化が失敗します。
// app/build.gradle.kts (module level)
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.gms.google-services")
}Firebase BoM
Firebaseには多くのライブラリ(Auth、Firestore、Messaging、Analyticsなど)があります。Bill of Materials(BoM)を使うと、これらのバージョンを簡単に揃えられます。
BoMを一度宣言したら、各Firebase依存関係をバージョンなしで追加します。互換性のあるバージョンはBoMが選択してくれます。
// app/build.gradle.kts -> dependencies { }
dependencies {
// One BoM controls all Firebase versions
implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
// No version numbers here - the BoM decides
implementation("com.google.firebase:firebase-auth")
implementation("com.google.firebase:firebase-firestore")
implementation("com.google.firebase:firebase-messaging")
}自動初期化
ApplicationクラスでFirebase.initialize()のような処理を呼び出すと思うかもしれません。しかし、最新のSDKでは通常、これを行う必要はありません。
Google Servicesプラグインが、google-services.jsonを使ってアプリ起動時に実行される初期化プロバイダーを自動生成します。Activityが開始する頃には、Firebaseの準備が完了しています。
// You normally do NOT need this anymore:
// FirebaseApp.initializeApp(context)
// Firebase is initialized automatically on app launch.
// You can just start using a service:
import com.google.firebase.Firebase
import com.google.firebase.firestore.firestore
val db = Firebase.firestore // ready to useKotlin KTXスタイル
Firebaseは、Firebaseオブジェクトを通じてKotlinらしいアクセサーを提供します。FirebaseFirestore.getInstance()の代わりに、Firebase.firestoreと記述できます。
これらの拡張はより自然に読めるため、最新のAndroidコードで推奨されるスタイルです。
import com.google.firebase.Firebase
import com.google.firebase.auth.auth
import com.google.firebase.firestore.firestore
import com.google.firebase.messaging.messaging
val auth = Firebase.auth // FirebaseAuth
val db = Firebase.firestore // FirebaseFirestore
val fcm = Firebase.messaging // FirebaseMessaging
// Equivalent old style:
// val auth = FirebaseAuth.getInstance()インターネット権限の追加
FirebaseはGoogleのサーバーと通信するため、アプリにネットワークアクセスが必要です。マニフェストでINTERNET権限を宣言してください。
これは通常権限であり、インストール時に自動的に許可されるため、実行時のリクエストは必要ありません。
<!-- AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application ... >
<!-- activities, services -->
</application>
</manifest>接続の確認
セットアップが正しく動作することを確認する簡単な方法は、値を読み取るか、現在のFirebaseアプリを確認することです。Firebaseが初期化されていなければ、サービスにアクセスしたときに例外が発生します。
多くの開発者は、動作確認として一時的にAnalytics依存関係を追加し、コンソールでイベントを確認することもあります。ただし、コードからサービスに一度アクセスするだけでも、接続設定が正しいことを確認できます。
import android.util.Log
import com.google.firebase.Firebase
import com.google.firebase.firestore.firestore
fun verifyFirebase() {
val app = Firebase.firestore.app
Log.d("Firebase", "Connected to project: ${app.options.projectId}")
}よくあるセットアップのミス
Firebaseが動作しない場合は、まず次の点を確認してください。
- パッケージ名が間違っている — アプリのapplicationIdは、登録したものと一致している必要があります。
- google-services.jsonがない —
app/フォルダーに配置する必要があります。 - モジュールのビルドファイルでプラグインの適用を忘れている。
- マニフェストにINTERNET権限がない。
- SHA-1フィンガープリントを追加していない — Googleサインインで後ほど必要になります。
確認テスト
google-services.jsonファイルの目的は何ですか。
まとめ:セットアップ完了
AndroidアプリをFirebaseに接続しました。主な手順は次のとおりです。
- Firebaseコンソールでプロジェクトを作成し、パッケージ名でアプリを登録します。
google-services.jsonをapp/フォルダーに追加します。- Google Servicesプラグインを適用し、Firebase BoMと必要なライブラリを追加します。
- Firebaseは自動的に初期化されるため、
Firebase.authやFirebase.firestoreなどからサービスにアクセスします。 - INTERNET権限を忘れずに追加します。
次は、Firebase Authenticationを使ってユーザーをサインインさせます。
よくある質問
「Firebaseのセットアップ」レッスンは無料ですか?
はい。「Firebaseのセットアップ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Android Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Android Academyコースには全4レッスンが含まれています。
「Firebaseのセットアップ」で何を学びますか?
アプリをFirebaseプロジェクトに接続します。 ブラウザで直接実行するハンズオンコードでAndroid Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Android Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAndroid Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Firebaseのセットアップ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAndroid Academyレッスンでコードを書いて実行できますか?
はい。すべてのAndroid Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。