web-dev-qa-db-ja.com

アプリが強制終了されたときにFirebaseからデバイスにメッセージを送信するにはどうすればよいですか?

FirebaseNotificationsに慣れようとしています。正常に動作しますが、アプリの電源がオンになっていないと、通知コンソールからメッセージを受信できなくなります。

私はドキュメントがそれを言っていることを知っています:

アプリがフォアグラウンドまたはバックグラウンドでonMessageReceivedメソッドでメッセージを受信できる場合、それ以外の場合、ユーザーはトレイで通知を受信します...それをクリックすると、インテント内のデータでメインアクティビティが開きます

しかし、アプリケーションが閉じられている場合でも、通知コンソールからすべてのメッセージをキャッチする方法はありますか?

====[〜#〜] answer [〜#〜]====

答えを見つける ここ

通知コンソールからデータメッセージを送信する方法はありません。

ただし、デバイスに通知を送信する方法は他にもあり、それらはonMessageReceived内に取り込まれます。

ターミナル(MacまたはLinux)またはPostmanなどのサービスを使用して、次のリンクでPOSTリクエストを送信できます: https://fcm.googleapis.com/fcm/send

次の体で:

{
    "to": "/topics/your_topic_here",
   "data": {
       "text":"text",
       "text1":"text1",
       ...
   }
}

また、2つのヘッダーを追加する必要があります。

  1. 承認-key = your_server_key_here
  2. Content-Type-application/json

サーバーキーを取得するには、Firebaseコンソールで確認できます:プロジェクト->設定->プロジェクト設定->クラウドメッセージング->サーバーキー

enter image description here

enter image description here

9
Andriy Antonov

onMessageReceived()メソッドアプリがバックグラウンドにある場合、またはメッセージがFirebase Consoleを介して送信された場合にのみ強制終了された場合、呼び出されません。

アプリが実行されていないときは、とにかく通知を受け取りますfirebaseコンソールから。ただし、onMessageReceived()を介してデータを傍受する場合は、カスタムアプリサーバーを作成する必要があります。これは送信のみdataペイロードをfcmに送信します。終点。つまり、この場合、実際にFCMをより効率的に利用するには、アプリサーバーを作成する必要があります。

これらの2つの質問を見て、同じことについて詳しく説明します。2番目の質問では、node.jsとJavaサーブレットを使用して同じことを行う方法についても簡単に説明します。

  1. ユーザーが通知をタップせずにデータペイロードを処理しますか?
  2. Firebaseに新しいエントリがあるときにクライアントに通知をプッシュする方法は?

これがあなたにいくつかの情報を提供するかどうか私に知らせてください。

5
Nishant Dubey