Xamarin.AndroidでFirebase Cloud Messagingを使う

提供: MonoBook
ナビゲーションに移動 検索に移動

Firebase Cloud Messaging(FCM)はAndroidアプリやiOSアプリなどに対してプッシュ通知の一斉配信を簡単に実装できるスグレモノ。

FCMはXamarin.Androidからも簡単に利用できる。マジオススメ。

大雑把な流れ[編集 | ソースを編集]

  1. 自前サーバーなどからGoogleのFCMサーバーにメッセージ送信、またはFirebaseの管理画面でメッセージを作り送信
  2. GoogleのFCMサーバーからAndroidデバイスに送信
  3. AndroidデバイスはブロードキャストインテントでAndroidアプリに送信
  4. Androidアプリが処理をする

大雑把な制限[編集 | ソースを編集]

  • メッセージ長は最大4KB

大雑把な導入手順[編集 | ソースを編集]

MSDNにも同様の説明があるが日本語版は機械翻訳なのか意味不明すぎるので英語版を読んだ方がわかりやすい。

アプリに権限を追加する[編集 | ソースを編集]

アプリに以下の権限を追加する。GoogleのFCMサーバーを経由してのプッシュ通知なのでインターネットに繋がっている必要がある。

  • Internet

アプリにパッケージを追加する[編集 | ソースを編集]

アプリにNuGetから以下の2つのパッケージを追加する。

  • Xamarin.GooglePlayServices.Base
    AndroidデバイスがGoogle Play対応機種かの判別に使用
  • Xamarin.Firebase.Messaging
    FCMそのもの

Firebaseに新しいプロジェクトを作る[編集 | ソースを編集]

ウェブブラウザFirebaseの管理画面を開き、新しいプロジェクトを作る。

新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。このパッケージ名宛にメッセージが届くようになる。

一通り登録が終わると「google-services.json」がダウンロードできる。Visual Studio for Mac上のプロジェクトに「google-services.json」を追加する。このファイルを追加したら右クリックしてビルドアクションに「GoogleServicesJson」と設定する。ビルドアクション一覧に「GoogleServicesJson」が表示されないバグらしきものがあったが、ソリューションを閉じてから再度開いたら表示された。

プログラムを実装する[編集 | ソースを編集]

ソース読めあとは勇気だけだ

関連項目[編集 | ソースを編集]

参考[編集 | ソースを編集]