Xamarin.AndroidでFirebase Cloud Messagingを使う
2019年1月25日 (金) 07:15時点における180.15.192.154 (トーク)による版
Firebase Cloud Messaging(FCM)はAndroidアプリやiOSアプリなどに対してプッシュ通知の一斉配信を簡単に実装できるスグレモノ。
FCMはXamarin.Androidからも簡単に利用できる。マジオススメ。
目次
大雑把な流れ
- 自前サーバーなどからGoogleのFCMサーバーにメッセージ送信、またはFirebaseの管理画面でメッセージを作り送信
- GoogleのFCMサーバーからAndroidデバイスに送信
- AndroidデバイスはブロードキャストインテントでAndroidアプリに送信
- 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」が表示されないバグらしきものがあったが、ソリューションを閉じてから再度開いたら表示された。
プログラムを実装する
関連項目
参考
- Firebase Cloud Messaging