-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_AndroidFCM
- 戻る
- Android開発
- Firebase
-
プッシュ通知
- iOS (APNs)
- Android (FCM)
-
FCM は、
- Firebase Cloud Messaging の略称。
- Android用のプッシュ通知サーバ
-
Firebaseは、GoogleのmBaaSでもある。
- Androidでは、Android (FCM)を使用するが、
- mBaaSなので、プッシュ通知の統合機能を持っている。
- このため、Android (FCM)だけでなく、iOS (APNs)と連携可能になっている。
- Firebaseにログインして、
- プロジェクトの作成を行う。
- プロジェクトにアプリを登録する。
- アプリの登録後に発行されたファイルのダウンロード。
- このファイルをビルド・プロセスへ組込む。
- プッシュ通知に必要なコードを実装する。
プロジェクト作成等の設定を行う。
- 項目などは、Android・iOSで異なる。
- 登録後、以下の手順が示される。
- ただし、ネイティブの手順
- クロスプラットフォーム開発ツールの場合は、個別に手順を確認する。
登録の結果、
- 生成されたファイルをダウンロードしておく。
- ファイルの内容は、Android・iOSで異なる。
- Android:google-services.json
- iOS:GoogleService-Info.plist
この手順は、Android・iOSで大きく異なる。
- このファイルをビルド・プロセスに組み込む。
- メイク・ファイル的なものを一部、手修正する。
※ また、使用する開発ツールによってパス等が微妙に異なったりするので注意。
プッシュ通知に必要なコードを実装する。
Android・iOS、UIフレームワーク毎に異なる。
※ 使用する開発ツールによって実装方法が明確に異なるので注意。
- Android・iOSのネイティブは、ナビされるが、
- ハイブリッド、クロスプラットフォームなどは個別に調査が必要。
- Cordova(Cordova (PhoneGap)の該当節を参照)
- Flutter(Flutterのサード・ステップの該当節を参照)
- Firebase consoleからもテスト可能だが、curlを使用してもテストできる。
- {サーバーキー}と{送信者ID}は、Firebase consoleの
[Settings]画面の[Cloud Messaging]タブのプロジェクト認証情報の項目にある。 - なお、Topicに送信する場合は、「"to":"/topics/トピック名"」と書く。
- WebAPIには、FCM HTTP APIとHTTP v1 APIがあり、以下の例は前者の例。
Linuxでは、ヒアドキュメントが利用できる。
curl -X POST \
--header "Authorization: key={サーバーキー}" \
--header "project_id: key={送信者ID}" \
--header Content-Type:"application/json" \
https://fcm.googleapis.com/fcm/send \
-d @- << EOF
{
"to": "Topic or FCM Token",
"notification": {
"title":"FCM Message",
"body":"This is an FCM Message"
}
}
EOF
-
Windowsだと、
複数行入力ができず、
「"」のエスケープが必要。curl -X POST ^ --header "Authorization: key={サーバーキー}" ^ --header "project_id: key={送信者ID}" ^ --header Content-Type:"application/json" ^ https://fcm.googleapis.com/fcm/send ^ -d '{\"to\":\"Topic or FCM Token\", \"notification\": {\"title\":\"FCM Message\", \"body\":\"This is an FCM Message\"}}' -
ファイルで指定しても良い。
-d @test.json
補足(最新化)
上記の例で使用しているレガシーな FCM HTTP API(fcm.googleapis.com/fcm/send、 サーバーキーによる認証)は 2023年6月に非推奨となり、2024年6月に廃止された。 現在は HTTP v1 API(fcm.googleapis.com/v1/projects/{project-id}/messages:send、 OAuth 2.0 アクセス・トークンによる認証)を使用する。
- 「Googleクラウドメッセージング(GCM)」が1年後に廃止、
「Firebase Cloud Messaging(FCM)」への移行が必要に:
Googleのアプリメッセージング基盤が完全に交代 - @IT
http://www.atmarkit.co.jp/ait/articles/1804/13/news051.html
androidでプッシュ通知を実装する
- AndroidのPush通知を試してみよう [サーバー知識不要]
https://qiita.com/flatfisher/items/bdec83caf3c7f9c8917c - iOSでFirebase Cloud Messagingを使う
https://qiita.com/jumperson/items/3fde555fd4660f474579 - Firebase Notificationsのアイコンについて纏めてみた
https://qiita.com/mkosuke/items/45dd14c61b633efcfd17
- FCMでPush通知をテスト送信する
https://qiita.com/tasuku/items/258e3edb8e2dffae64d4 - FCM HTTP v1 APIを使ってWeb Push送信
https://qiita.com/nishi-sankosc/items/b9040ee57e6b7223ff21 - プッシュ通知 curlでFCMを叩く
https://qiita.com/kosawa/items/f4563046237c4e7274e9 - Firebase(FCMのtopic)をcurlで実行しても
iPhoneアプリにプッシュ通知がでない時の対処方法
https://qiita.com/gungle/items/ba923016be6d0840ec46
-
Firebase Cloud Messaging
https://firebase.google.com/docs/cloud-messaging?hl=ja -
Firebase console
https://console.firebase.google.com/
移行メモ
- 「Firebase Cloud Messaging 略称。」→「〜 の略称。」、 「登録後、以下の手順は示される。」→「〜 が示される。」に修正した。
- 「注:ハイブリッド、クロスプラットフォーム系」配下にあった 見出し名の無い空見出し(「...」)は除去した。
- Qiita の記事名「AndroidのPush通知を試してみよう [サーバー知識不要」は 閉じ括弧が欠落していたため補った。
- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの .NETとスマホ に張り替えた。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, Android, FCM, Firebase, プッシュ通知, mBaaS, curl, モバイル
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。