「Xamarin.AndroidでFirebase Cloud Messagingを使う」の版間の差分
ナビゲーションに移動
検索に移動
(→大雑把な流れ) |
|||
1行目: | 1行目: | ||
[[Firebase Cloud Messaging]](FCM)はAndroidアプリやiOSアプリなどに対して[[プッシュ通知]]の一斉配信を簡単に実装できるスグレモノ。 | [[Firebase Cloud Messaging]](FCM)はAndroidアプリやiOSアプリなどに対して[[プッシュ通知]]の一斉配信を簡単に実装できるスグレモノ。 | ||
− | FCMは[[Xamarin.Android]] | + | FCMは[[Xamarin.Android]]からも簡単に利用できる。マジオススメ。 |
− | |||
==大雑把な流れ== | ==大雑把な流れ== | ||
− | # | + | #自前[[サーバー]]などから[[Google]]のFCMサーバーにメッセージ送信、または[[Firebase]]の管理画面でメッセージを作り送信 |
#GoogleのFCMサーバーからAndroidデバイスに送信 | #GoogleのFCMサーバーからAndroidデバイスに送信 | ||
#AndroidデバイスはブロードキャストインテントでAndroidアプリに送信 | #AndroidデバイスはブロードキャストインテントでAndroidアプリに送信 | ||
26行目: | 25行目: | ||
===アプリにパッケージを追加する=== | ===アプリにパッケージを追加する=== | ||
− | + | アプリに[[NuGet]]から以下の2つのパッケージを追加する。 | |
*Xamarin.GooglePlayServices.Base | *Xamarin.GooglePlayServices.Base | ||
− | *: | + | *:Androidデバイスが[[Google Play]]対応機種かの判別に使用 |
*Xamarin.Firebase.Messaging | *Xamarin.Firebase.Messaging | ||
*:FCMそのもの | *:FCMそのもの | ||
===Firebaseに新しいプロジェクトを作る=== | ===Firebaseに新しいプロジェクトを作る=== | ||
− | + | [[ウェブブラウザ]]で[[Firebase]]の管理画面を開き、新しいプロジェクトを作る。 | |
*https://console.firebase.google.com | *https://console.firebase.google.com | ||
− | + | 新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。このパッケージ名宛にメッセージが届くようになる。 | |
− | |||
− | 一通り登録が終わると「google-services. | + | 一通り登録が終わると「google-services.json」が[[ダウンロード]]できる。[[Visual Studio for Mac]]上のプロジェクトに「google-services.json」を追加する。この[[ファイル]]を追加したら[[右クリック]]してビルドアクションに「GoogleServicesJson」と設定する。ビルドアクション一覧に「GoogleServicesJson」が表示されない[[バグ]]らしきものがあったが、ソリューションを閉じてから再度開いたら表示された。 |
− | Visual Studio for | ||
===プログラムを実装する=== | ===プログラムを実装する=== | ||
− | [[ソース読め]]。 | + | [[ソース読め]]。[[あとは勇気だけだ]]。 |
*https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/ | *https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/ |
2019年1月24日 (木) 02:26時点における版
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