Firebase Cloud MessagingをAndroidで利用する
Firebase Consoleでやる事
https://console.firebase.google.com/まずは、適当なプロジェクトを選ぶか、作成します。
その後、上部にある「アプリを追加」からAndroid用アプリを選択します。
- アプリの登録で、Androidパッケージ名を、各自の命名規則に従って入力。
ニックネームやSHA証明書は、今回は入力しなくて構いません。アプリの追加を押します。
- 構成ファイルをダウンロードして追加する、ですが一応ダウンロードしておきますが、flutterfireが作ってくれるので今回は不要だったり。次へを押します。
- Firebase SDKもflutterfireがやってくれるので、特に何もする事なく次へ。
- コンソールに進むで終了です。
vapidKeyの生成
設定のCloud Messagingタブで下部ウェブプッシュ証明書のキーペア(vapidKey)を生成しておきます。
※(前回と同じプロジェクトを使う等で)既に作成済なら不要です。
Firebase Admin SDK
サービスアカウントタブを選択し、Firebase Admin SDKの秘密鍵を生成します。
既に生成済なら、以前ダウンロードしたjsonファイルを利用します(紛失した場合は、再度新しい秘密鍵を生成する必要が有るようです)。
ここでダウンロードされるjsonは、送信用に使用します。
Flutterでやる事
FlutterとAndroidのエミュレータか実機を使えるようにした後で、melosをactivate。
flutter pub global activate melos
flutterfire_cliがまだの場合はそちらも。
dart pub global activate flutterfire_cli
githubからflutterfireを取って来て、melosを実行。
firebase_messaging/firebase_messaging/exampleでflutterfire configureします。
git clone https://github.com/firebase/flutterfire
cd flutterfire
melos bootstrap
cd ./packages/firebase_messaging/firebase_messaging/example
flutterfire configure
途中の質問で、上記で操作したFirebaseプロジェクトを選択します(Create new projectと聞かれたらNoで)。
これで、自分のFirebase Project用のconfigファイルを作ってくれます。
後は、「token_monitor.dart」を開き、「vapidKey」をFirebase Consoleで設定したものに変更します。
Android用にビルドして起動
VSCodeならmain.dartを開き、デフォルトでは左下にChromeとかEdgeとか表示されていると思いますがそれをクリックすると上部にどのプラットフォームで実行するか選択が表示されます。
Android端末を選択し(Emulatorで実行するつもりでまだ作成していないなら、Create Android emulatorで作成して)起動して、左下が選択したAndroidになった事を確認します。

VSCode右上の▷を押すと、長いビルドが始まって、終わるとアプリが起動します。

FCM Tokenの欄に表示されている文字列を選択してコピーするか、VSCodeのデバッグコンソールに、FCM Token: と表示されている箇所をコピーして保存しておきます。
通知を送ってみる
前回同様curlでも送る事が出来ますが、exampleから送信する事も出来ます。
・scripts/ フォルダにFirebase Admin SDKで生成したjsonファイルを、google-service.jsonにリネームして配置します。
・send-message.jsを開き、const token =”の中身を、さっきAndroidで取得したFCM Tokenの中身に入れ替えます。
・ターミナルで、node scripts/send-message.jsを実行すると、Androidに通知が行きます。



この投稿は 2025年2月14日 金曜日 17:51 に Firebase カテゴリーに公開されました。 この投稿へのコメントは RSS 2.0 フィードで購読することができます。
このページの一番下でコメントを残すことができます。トラックバック / ピンバックは現在受け付けていません。