2

Firebaseプッシュ通知をテストし、Firebaseコンポーザパネルから通知を送信しています。アプリ情報パネルからアプリプロセスを閉じると、デバイスに到達しない。アプリを再起動しても、通知は失われて受信されることはありません。アプリが閉じているとFirebaseプッシュ通知が受信されない

私はまた、このしようと試み:アプリのプロセスを閉じ

を通知を送信> ...と通知が受信されない - デバイス上>電源 - - >デバイスをシャットダウン!

デバイスがアプリを起動していて100%閉じていないと、firebaseは通知を受け取ることができないようです。つまり、バックキーで閉じるだけですが、アプリプロセスを強制終了しません。

これはどのように可能ですか? firebaseはアプリを閉じても通知を受けなければならないと提唱されています。

Android 8.0のNexus 5Xのでテストしていますが、最後のバージョンはFirebase push Notificationsです。

+1

は、メッセージの2種類があります。あなたはどちらを使いますか? –

+0

Iアンドロイド最新バージョン7.0+は、アプリを強制終了または実行していないときにバックグラウンドサービスを許可しないDOZEを導入しました。 https://developer.android.com/about/versions/nougat/android-7.0-changes.html –

+0

おそらく役に立ちます[投稿](https://stackoverflow.com/q/39504805/4625829) –

答えて

0

Javaコードにfirebaseサービスを追加しましたか?ここで がリンクである:firebase/quickstart-android

あなたはJavaのフォルダに、これらの3 javaファイルを追加してもでそれらのサービス名を追加する必要がAndroidManifest.xmlを

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質投稿/ 18289146) –

+0

マニフェストとコードにサービスを追加しました... – NullPointerException

0

場合firebaseにのみ通知を受け取ることができるようですデバイス はアプリが起動していて100%閉じていません。つまり、 バックキーで終了していますが、アプリプロセスを終了していません。

いいえ、FCMはGoogle Playサービスとターゲットアプリケーションを持つすべての端末に送信されます。それがプッシュ通知と呼ばれる理由です。

アプリケーション、あなたがアプリの通知が届かないために多くの理由が考えられ

onMessageRecieved(RemoteMessage mes); 

をオーバーライドする必要があり、それらを処理するために、実行されているときにも通知を取得します。それらのいくつかは次のようになります。

  • メッセージングサービスが正しく設定されていないマニフェスト

  • プレイサービスに含まれていません。電話には存在しません。

  • 時々レイテンシが高い(まれに)。私は時々、作った後に約2〜3分かかることに気付いた。

  • SHA1指紋はコンソールに登録されていないか、更新されたgoogle-services.jsonはソースに存在しません。

  • アプリをアンインストールして再インストールします。トークンの再生が行われるようにします。

メッセージングを開始するには、このリンクをクリックしてください。

https://firebase.google.com/docs/cloud-messaging/android/client

+0

SHA1はコンソールに登録されていませんが、オプションです。影響はありますか?それはどこに文書化されていますか? – NullPointerException

+0

登録する方が良いです。デバッグ・キーのshaとリリース・キーをリリース・バージョンに提出することをデバッグ目的のために確認してください。 SHA1をキーにする方法は次のとおりです https://stackoverflow.com/questions/15727912/sha-1-fingerprint-of-keystore-certificate – coder3101

+0

なぜ良いですか?ウェブサイトからのドキュメンテーションでは、それらはオプションであり、プッシュではなく他のサービスのためだけであると言われています。 – NullPointerException

0

あなたfirebaseコンソールからそれを送信している場合、それはあなたがあなたのアプリケーションが閉じている場合、コンソールにはないデータペイロードを持つメッセージを送信する必要があり得ることはありませんそれらのように、通知メッセージを送信します行う。通知メッセージとデータメッセージ -

https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

+0

サーバーなしで送ることは可能ですか? firebaseパネルだけで? – NullPointerException

+0

いいえ、私はコンソールがデータメッセージを送信しないと言っています – tyczj

+0

おかげで、どこにアプリケーションが閉じられているデバイスに届かない再生負荷がないと送信されることがドキュメントで説明されていますか? – NullPointerException

関連する問題