3

昨日、GoogleはFirebase用の新しいツールセットを発表しました。その1つは、通知をサーバーからアプリケーションを使用しているデバイスに送信する通知でした。Firebaseによるプッシュ通知

ただし、新しいメッセージを受信したユーザーに通知できるようになりましたか?

もしそうでない場合は、これを達成する方法がありますか?

+2

他のユーザーからの新しいメッセージを意味する場合は、これも不思議でした。ドキュメントを見ると、これはまだ自動的には不可能なようです。私はあなたが送信された各メッセージの別のサーバーチェックを持って、受信者のユーザーのIDでタグ付けされた通知を作成する必要があると思います。次に、受信者を自分のユーザーIDタグに登録します。 [link](https://firebase.google.com/docs/notifications/android/console-topics#receive_topic_messages_on_an_android_client_app) – user2997154

+1

docs @ user2997154で狩猟をチェックしてください。あなたが答えとして書くなら、私はupvoteします。 :-) –

答えて

5

ドキュメントを見ると、これは現在自動的には可能ではないようです。ここでは別のサーバーで "手動"、それを達成するために可能な方法は次のとおりです。

  1. それ自身のユーザーID IOS

    [[FIRMessaging messaging] subscribeToTopic:@"/topics/InsertUserIDHere"]; 
    
アンドロイド

FirebaseMessaging.getInstance().subscribeToTopic("InsertUserIDHere"); 

にユーザーを購読します

  1. チェックを行う外部サーバーをセットアップしますすべての送信メッセージ。メッセージが送信されると、サーバーは受信者のユーザーIDをトピックとして含む通知を作成する必要があります。

詳細はhereをご覧ください。

+0

ブリリアント!私は2つの質問がある場合、私はあります。まず、別のサーバを使用して通知をどのように送信するのか、Firebaseはコンソールからの通知の送信のみを許可します。第二に、私は多くのユーザーがいると効率的でしょうか?ドキュメントには、「コンソールに新しいトピックが表示されるまでに1日ほど遅れることがあります」と記載されています。ありがとう。 – Khaled

+0

私が最後に行ったコメントは無視してください。コンソールなしでサーバー経由でメッセージを送信する方法の詳細については、[こちら](https://firebase.google.com/docs/cloud-messaging/topic-messaging)を参照してください。コンソールを使用していない場合、遅延がまだ適用可能かどうかはわかりません。 – user2997154

1

(特定の「トピック」をターゲットにする)ユーザーグループに、または(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

関連する問題