2017-01-10 17 views
1

firebaseコンソールからアンドロイドアプリにテストすると、メッセージのステータスに完了と表示され、配信日が示されます。領収書にメッセージが送信され、火災基地のあるアンドロイドアプリで配信されたかどうかを確認するにはどうすればよいですか:https://console.firebase.google.comFirebaseはアンドロイドアプリに送信または配信された通知の証明を提供しません

ターゲットユーザーにプッシュ通知メッセージをテストするためのFirebaseクイックスタートアプリを開発中です。私を助けてください。

+0

あなたがここで何を求めているのか分かりません。個々のユーザーがメッセージを受け取った正確な時間が必要ですか?各ユーザのFirebaseMessagingServiceにこれを記録し、これをサーバまたはDBに送信することもできますが、複雑なように聞こえます。また、コンソールから送信される通知は、アプリケーションが受信されたときにフォアグラウンドにない限り、受信されないという点で制限されています。一方、postmanのようなhttpクライアントを使用して、バックグラウンドで受け取った「データ」通知を送信し、この受信日を記録することができます –

答えて

0

@SaikCaskeyは、あなたの質問の解決策の洞察を持っていますが、私はいくつかの点で同意しません。

プッシュ通知は、実際にターゲットユーザーに届くとは限りません。プッシュ通知はいくつかの理由で失敗する可能性があります。しかし、それはここで問題ではありません。アプリケーションがバックグラウンドまたは停止していても、通知を受け取ることがあります。 FirebaseMessagingServiceSTART_STICKYで開始する必要があります。この動作はデバイスによって異なる場合があります。一部の端末では、アプリが停止したときにプッシュ通知を受信するこの動作を許可/禁止します。

ユーザーがプッシュ通知を受け取ったときにログを記録する必要がある場合は、少し複雑な方法で通知を受け取ることがあります。あなたのデバイスがオンラインになるとあなたはプッシュを取得し、onMessageReceived機能では、受け取った通知の時間を得るためにSystem.Clockを得ることができます。その後、Firebaseのインスタンスを作成し、ユーザの通知配信時間の参照ノードに時刻を設定します。

希望に役立ちます!

関連する問題