「Xamarin.AndroidでFirebase Cloud Messagingを使う」の版間の差分

ページの作成:「Firebase Cloud Messaging(FCM)はAndroidアプリやiOSアプリなどに対してプッシュ通知の一斉配信を簡単に実装できるスグレモノ…」
 
編集の要約なし
 
(2人の利用者による、間の3版が非表示)
1行目: 1行目:
[[Firebase Cloud Messaging]](FCM)はAndroidアプリやiOSアプリなどに対して[[プッシュ通知]]の一斉配信を簡単に実装できるスグレモノ。
[[Firebase Cloud Messaging]](FCM)はAndroidアプリやiOSアプリなどに対して[[プッシュ通知]]の一斉配信を簡単に実装できるスグレモノ。


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


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


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


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


=== アプリに権限を追加する ===
*https://docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=macos
 
===アプリに権限を追加する===
アプリに以下の権限を追加する。GoogleのFCMサーバーを経由してのプッシュ通知なので[[インターネット]]に繋がっている必要がある。
アプリに以下の権限を追加する。GoogleのFCMサーバーを経由してのプッシュ通知なので[[インターネット]]に繋がっている必要がある。
* Internet


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


=== Firebaseに新しいプロジェクトを作る ===
===アプリにパッケージを追加する===
ウェブブラウザでFirebaseの管理画面を開き、新しいプロジェクトを作る。
アプリに[[NuGet]]から以下の2つのパッケージを追加する。
* https://console.firebase.google.com


新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。
*Xamarin.GooglePlayServices.Base
このパッケージ名宛にメッセージが届くようになる。
*:Androidデバイスが[[Google Play]]対応機種かの判別に使用
*Xamarin.Firebase.Messaging
*:FCMそのもの


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


=== プログラムを実装する ===
*https://console.firebase.google.com
[[ソース読め]]。
 
* https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/
新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。このパッケージ名宛にメッセージが届くようになる。
 
一通り登録が終わると「google-services.json」が[[ダウンロード]]できる。[[Visual Studio for Mac]]上のプロジェクトに「google-services.json」を追加する。この[[ファイル]]を追加したら[[右クリック]]してビルドアクションに「GoogleServicesJson」と設定する。ビルドアクション一覧に「GoogleServicesJson」が表示されない[[バグ]]らしきものがあったが、ソリューションを閉じてから再度開いたら表示された。
 
===プログラムを実装する===
[[ソース読め]]。[[あとは勇気だけだ]]。
 
*https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/
 
== 関連項目 ==
* [[Xamarin.Androidで通知を表示する]]
* [[Xamarin.Androidで通知を表示しアプリを起動する]]


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


[[category: Xamarin.Android]]
[[category: Xamarin.Android]]