Skip to content

DNET_AndroidFCM

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Android (FCM)

概要

  • FCM は、

  • Firebaseは、GoogleのmBaaSでもある。

    • Androidでは、Android (FCM)を使用するが、
    • mBaaSなので、プッシュ通知の統合機能を持っている。
    • このため、Android (FCM)だけでなく、iOS (APNs)と連携可能になっている。

詳細

Firebaseにログイン

https://firebase.google.com/

プロジェクトの作成

プロジェクト作成等の設定を行う。

アプリの登録

ファイルのダウンロード

登録の結果、

  • 生成されたファイルをダウンロードしておく。
  • ファイルの内容は、Android・iOSで異なる。
    • Android:google-services.json
    • iOS:GoogleService-Info.plist

ビルド・プロセスへ組込む。

この手順は、Android・iOSで大きく異なる。

  • このファイルをビルド・プロセスに組み込む。
  • メイク・ファイル的なものを一部、手修正する。

※ また、使用する開発ツールによってパス等が微妙に異なったりするので注意。

必要なコードを実装する。

プッシュ通知に必要なコードを実装する。

クライアント側

Android・iOS、UIフレームワーク毎に異なる。
※ 使用する開発ツールによって実装方法が明確に異なるので注意。

サーバ側

注:ハイブリッド、クロスプラットフォーム系

CURLを使用してテストしてみる。

  • Firebase consoleからもテスト可能だが、curlを使用してもテストできる。
  • {サーバーキー}と{送信者ID}は、Firebase consoleの
    [Settings]画面の[Cloud Messaging]タブのプロジェクト認証情報の項目にある。
  • なお、Topicに送信する場合は、「"to":"/topics/トピック名"」と書く。
  • WebAPIには、FCM HTTP APIとHTTP v1 APIがあり、以下の例は前者の例。

Linux

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

  • 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 アクセス・トークンによる認証)を使用する。

参考

GCM廃止

TECH Projin

androidでプッシュ通知を実装する

Qiita

構成

テスト

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, モバイル

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally