Xamarin.AndroidでFirebase Cloud Messagingを使う

提供: MonoBook
2019年1月24日 (木) 02:20時点における1.75.209.52 (トーク)による版 (ページの作成:「Firebase Cloud Messaging(FCM)はAndroidアプリやiOSアプリなどに対してプッシュ通知の一斉配信を簡単に実装できるスグレモノ…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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

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

大雑把な流れ

  1. メッセージを自前サーバーなどからGoogleのFCMサーバーに送信、またはFCM管理画面からメッセージを作り送信
  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」が表示されないバグらしきものがあったが、ソリューションを閉じてから再度開いたら表示された。

プログラムを実装する

ソース読め

参考