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

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「Firebase Cloud Messaging(FCM)はAndroidアプリやiOSアプリなどに対してプッシュ通知の一斉配信を簡単に実装できるスグレモノ…」)
 
4行目: 4行目:
 
マジオススメ。
 
マジオススメ。
  
== 大雑把な流れ ==
+
==大雑把な流れ==
# メッセージを自前サーバーなどからGoogleのFCMサーバーに送信、またはFCM管理画面からメッセージを作り送信
 
# GoogleのFCMサーバーからAndroidデバイスに送信
 
# AndroidデバイスはブロードキャストインテントでAndroidアプリに送信
 
# Androidアプリが処理をする
 
  
== 大雑把な制限 ==
+
#自前サーバーなどからGoogleのFCMサーバーにメッセージ送信、またはFCMの管理画面でメッセージを作り送信
* メッセージ長は最大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つのパッケージを追加する。
 
アプリにNuGetから以下の2つのパッケージを追加する。
* Xamarin.GooglePlayServices.Base
 
*: AndroidデバイスがGoogle Play対応機種かの判別に使用
 
* Xamarin.Firebase.Messaging
 
*: FCMそのもの
 
  
=== Firebaseに新しいプロジェクトを作る ===
+
*Xamarin.GooglePlayServices.Base
 +
*:AndroidデバイスがGoogle Play対応機種かの判別に使用
 +
*Xamarin.Firebase.Messaging
 +
*:FCMそのもの
 +
 
 +
===Firebaseに新しいプロジェクトを作る===
 
ウェブブラウザでFirebaseの管理画面を開き、新しいプロジェクトを作る。
 
ウェブブラウザでFirebaseの管理画面を開き、新しいプロジェクトを作る。
* https://console.firebase.google.com
+
 
 +
*https://console.firebase.google.com
  
 
新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。
 
新しいプロジェクトを作る際にAndroidアプリ(のパッケージ名)を登録する。
38行目: 44行目:
 
Visual Studio for Mac上のプロジェクトに「google-services.json」を追加し、ビルドアクションを「GoogleServicesJson」と設定する。ビルドアクション一覧に「GoogleServicesJson」が表示されないバグらしきものがあったが、ソリューションを閉じてから再度開いたら表示された。
 
Visual Studio for Mac上のプロジェクトに「google-services.json」を追加し、ビルドアクションを「GoogleServicesJson」と設定する。ビルドアクション一覧に「GoogleServicesJson」が表示されないバグらしきものがあったが、ソリューションを閉じてから再度開いたら表示された。
  
=== プログラムを実装する ===
+
===プログラムを実装する===
 
[[ソース読め]]。
 
[[ソース読め]]。
* https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/
 
  
== 参考 ==
+
*https://developer.xamarin.com/samples/monodroid/Firebase/FCMNotifications/
* 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]]

2019年1月24日 (木) 02:22時点における版

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」が表示されないバグらしきものがあったが、ソリューションを閉じてから再度開いたら表示された。

プログラムを実装する

ソース読め

参考