昨日、Google は Firebase 用の新しいツール セットを発表しました。そのうちの 1 つは、私のアプリを使用しているデバイスにサーバーから通知を送信する機能でした。
しかし、新しいメッセージを受信したときにユーザーに通知することはできますか?
そうでない場合、これを達成する方法はありますか?
昨日、Google は Firebase 用の新しいツール セットを発表しました。そのうちの 1 つは、私のアプリを使用しているデバイスにサーバーから通知を送信する機能でした。
しかし、新しいメッセージを受信したときにユーザーに通知することはできますか?
そうでない場合、これを達成する方法はありますか?
ドキュメントを見ると、これは現在自動的に可能ではないようです。別のサーバーを使用して「手動で」実行する方法を次に示します。
アンドロイドで
FirebaseMessaging.getInstance().subscribeToTopic("InsertUserIDHere");
IOS で
[[FIRMessaging messaging] subscribeToTopic:@"/topics/InsertUserIDHere"];
詳細については、こちらをご覧ください。
ユーザーのグループ (特定の「トピック」を対象とする) または単一のデバイス (Firebase Cloud Messaging トークンを対象とする) にメッセージを送信できます。
デバイスをトピックにサブスクライブするには、次を使用します。
FirebaseMessaging.getInstance().subscribeToTopic("topicName");
デバイストークンを取得するには (*1) :
FirebaseInstanceId.getInstance().getToken();
次に、サーバーからメッセージを送信する場合は、Firebase Notificaitons Web コンソールまたは FCM サーバー API を使用できます。
参照: https://firebase.google.com/docs/cloud-messaging/downstream#sending_topic_messages_from_the_server
ノート:
[1]getToken()
トークンがまだ利用できない場合、null を返すことができます。
コールバックonTokenRefresh()
を使用して、トークンが使用可能になったとき、およびトークンがローテーションされたときに通知を受け取ることができます。
参照: https://firebase.google.com/docs/cloud-messaging/android/client#sample-register