Memo

メモ > 技術 > サービス: AmazonSNS > Android: Firebaseの設定

Android: Firebaseの設定
■Firebaseプロジェクトの作成 公式サイト https://firebase.google.com/ コンソール https://console.firebase.google.com/ Firebaseのコンソールにアクセスし、「プロジェクトを追加」をクリック。 プロジェクト名: PushTest1 プロジェクトID: pushtest1-aeb26(プロジェクト名から自動で入力されるが、後から判りやすいように編集し直してもいい。) 「続行」をクリック。 「このプロジェクトで Google アナリティクスを有効にする」にチェックが入っていることを確認する。 「続行」をクリック。 アナリティクス用に既存のアカウントを選択するか、新しいアカウントを作成する。 (今回は開発用である「refirio」を選択した。「このアカウントに新しいプロパティを自動的に作成します」と表示された。) 「プロジェクトを作成」をクリック。 しばらく待つと「新しいプロジェクトの準備ができました」と表示される。 「続行」をクリック。 「アプリに Firebase を追加して利用を開始しましょう」という画面へ遷移する。 「開始するにはアプリを追加してください」の文言の上にある、Androidのアイコンをクリック。 「Android アプリに Firebase を追加」という画面へ遷移する。 ※後から確認すると、アナリティクス側で「refirio」内に「pushtest1-aeb26」というプロパティが作成されていた。 またアプリ側で何かプログラムを書いたわけでも無いのに、「ユーザー」「イベント数」に反応がある。 最低限(アクティビティ単位でのアクセス数?)のことは自動で計測されているのか。 ■Firebaseアプリの作成 「1 アプリの登録」という画面になる。 Android パッケージ名: net.refirio.pushtest1 アプリのニックネーム: PushTest1 デバッグ用の署名証明書 SHA-1: (空欄) ※まずはニックネーム「PushTest1 Dev」で開発版用に作るか…と思ったが、重複してAndroidパッケージ名を登録することができない。 つまり「net.refirio.pushtest1」用に作るのは「PushTest1」であり、これは本番環境用に使うべきものとなる。 iOSでは最初に開発版用にプッシュ通知証明書を作成しているが、これは「パッケージ名は本番用と同じだが、開発用に『Development SSL Certificate』を登録できる」なので、Androidとは少し性格が違うものだと思われる。 ※後述の「考察: アプリのIDについて」も参照。 基本的には、プロジェクト自体を分ける方が良さそうではある。 ※プロジェクト名には「android」という文字を含めておく方がいいか。 つまり「pushtest1-android」「pushtest1-android-stg」「pushtest1-android-dev」のような名前にするか。 ただし今回のように「iOSではFirebaseを使わない」「最終的にはAmazonSESから送信する」という場合、「android」という文字を含めなくても支障は無い。 FirebaseはGoogleのサービスなので、「もしiOS用に作ることがあれば『-ios』という接尾語を付ける」でいいかもしれない。 ※某会社アプリの場合、「xxxxx」プロジェクトの中に「xxxxx-android」「xxxxx-android-stg」「xxxxx-android-dev」がある。 ただし、その後に作った別アプリは 「yyyyy」プロジェクトの中に「yyyyy」「yyyyy-dev」があり、 「yyyyy-staging」プロジェクトの中に「yyyyy」「yyyyy-dev」があり、 となっている。 上記を入力して「アプリを登録」をクリック。 「2 構成ファイルをダウンロードして追加する」という画面になる。 「google-services.json をダウンロード」をクリック。 表示される解説どおり、「Androidプロジェクトの新規作成」で作成したアプリの「app」直下にファイルを配置する。 (Android Studio で「Android」ではなく「Project」に表示を切り替え、「app」フォルダアイコンに対してドラッグ&ドロップで配置する。その後、また「Android」に戻しておく。) 配置できたら「次へ」をクリック。 「3 Firebase SDK の追加」という画面になる。 「Groovy(build.gradle)」を選択する。 プロジェクト直下の build.gradle と、「app」直下の build.gradle に指定のコードを追加する。 追加したら、AndroidStudioの画面上部に「sync now」が表示されるのでクリックする。 ビルドが完了されるまで待つ。完了したら「次へ」をクリック。 以上で完了。 「コンソールに進む」をクリック。 ※同じプロジェクト内に同じアプリで再作成する場合、 「プロジェクトの設定 → PushTest1 → SDKの手順を確認する」から作業できる。 ■参考 プロジェクト直下の build.gradle と、「app」直下の build.gradle に追加したコードは以下のとおり。 プロジェクト直下の build.gradle:
plugins { 〜略〜 id("com.google.gms.google-services") version "4.4.2" apply false … 追加 }
「app」直下の build.gradle:
plugins { 〜略〜 id("com.android.application") … 追加 id("com.google.gms.google-services") … 追加 } dependencies { 〜略〜 implementation(platform("com.google.firebase:firebase-bom:33.5.0")) … 追加 implementation("com.google.firebase:firebase-analytics") … 追加
「id("com.android.application")」というのも記載されているが、これは「alias(libs.plugins.android.application)」があるので追加不要みたい。 (追加すると「すでに読み込まれている」のエラーになる。) なお、ダウンロードした google-services.json には以下のような内容が記載されている。
{ "project_info": { "project_number": "884881935685", "project_id": "pushtest1-aeb26", "storage_bucket": "pushtest1-aeb26.appspot.com" }, "client": [ { "client_info": { "mobilesdk_app_id": "1:884881935685:android:cc453484c4825b2153022c", "android_client_info": { "package_name": "net.refirio.pushtest1" } }, "oauth_client": [], "api_key": [ { "current_key": "AIzaSyDYzY_QZPAGTpm20Pa69ExMWrNbCQukz1o" } ], "services": { "appinvite_service": { "other_platform_oauth_client": [] } } } ], "configuration_version": "1" }

Advertisement