差分

ナビゲーションに移動 検索に移動

Xamarin.AndroidでFirebase Cloud Messagingを使う

2,574 バイト追加, 2019年1月24日 (木) 02:20
ページの作成:「Firebase Cloud Messaging(FCM)はAndroidアプリやiOSアプリなどに対してプッシュ通知の一斉配信を簡単に実装できるスグレモノ…」
[[Firebase Cloud Messaging]](FCM)はAndroidアプリやiOSアプリなどに対して[[プッシュ通知]]の一斉配信を簡単に実装できるスグレモノ。

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

== 大雑把な流れ ==
# メッセージを自前サーバーなどからGoogleのFCMサーバーに送信、またはFCM管理画面からメッセージを作り送信
# GoogleのFCMサーバーからAndroidデバイスに送信
# AndroidデバイスはブロードキャストインテントでAndroidアプリに送信
# Androidアプリが処理をする

== 大雑把な制限 ==
* メッセージ長は最大4KB

== 大雑把な導入手順 ==
[[MSDN]]にも同様の説明があるが日本語版は機械翻訳なのか意味不明すぎるので英語版を読んだ方がわかりやすい。
* https://docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=macos

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

=== アプリにパッケージを追加する ===
アプリにNuGetから以下の2つのパッケージを追加する。
* Xamarin.GooglePlayServices.Base
*: AndroidデバイスがGoogle Play対応機種かの判別に使用
* Xamarin.Firebase.Messaging
*: FCMそのもの

=== Firebaseに新しいプロジェクトを作る ===
ウェブブラウザでFirebaseの管理画面を開き、新しいプロジェクトを作る。
* https://console.firebase.google.com

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

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

=== プログラムを実装する ===
[[ソース読め]]。
* https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/

== 参考 ==
* Firebase Cloud Messaging
*: https://firebase.google.com/docs/cloud-messaging/

[[category: Xamarin.Android]]
匿名利用者

案内メニュー