0Pricing
Android Academy · レッスン

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 use

Kotlin 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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Firebaseのセットアップ
  2. Firebase Authentication
  3. Cloud Firestoreの基本
  4. Cloud Messagingでプッシュ通知
← Android Academyに戻る