2017-08-14 1 views
2

私は、ユーザーがログインし、受信ボックスで受信したメッセージを見ることができるアンドロイドアプリケーションを開発しています(各メッセージには、すでにデータベースに保存されている時間、日付、件名、および送信者の情報が含まれています)。受信トレイに受信されたメッセージの数を、受信トレイ10にある10個のメッセージがバッジ通知のテキストとして表示されているように、バッジ通知として受信トレイのボタンが表示されます。私はすべてのことを行うことに成功していますが、ユーザーが受信ボックスでメッセージを取得するたびにそのメッセージを表示します。プッシュ通知を介してユーザーに通知されます。アプリが開かれているか、バックグラウンドになっています。私はたくさんの検索をしましたが、どこから始めたらいいかわかりません。 あらゆる種類のヘルプをいただければ幸いです! ありがとうございます。アプリがバックグラウンドのときにアンドロイドでプッシュ通知を取得するにはどうすればよいですか?

答えて

1

を使用することができます。

最初の方法は、新しいメッセージが到着したことを確認しようとしているサービスを開始しようとしているAlarmManagerを実装することです。しかし、このアプローチのいくつかの制限は、たとえば15分ごとにサービスをトリガーするようにAlaramManagerを設定しなければならないということです。また、メッセージが到着すると、ユーザーはリアルタイムで通知されません。実際にはサービスを継続して実行することができますが、それはバッテリーの使用をスピードアップし、フリースペースが必要な場合にOSによってサービスが殺される可能性があるため、悪い習慣です。

2番目のアプローチは、無料ですが、実際に通知するのに十分なメッセージ(通知メッセージ)あたり4kbに制限されているFCMのような第三者のクライアントを使用することです。多くの場合、メッセージ(通知メッセージ)はFirebase consoleから手動で送信されますが、2番目の制限は、ユーザーがオフラインのときに通知を出す場合は、onMessageReceivedと上昇通知をトリガーするためにdata payloadを含める必要があります。もしあなたがアプリケーションがバックグラウンドになっているときにそれをしたいのであれば、それはfirebaseコンソールからは不可能なカスタムサーバーサイドのロジックが必要です。幸いなことに、チュートリアルでそれを行う方法があります。このチュートリアルでは、セットアップFCMにあなたを助ける: https://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

そして、ここであなたがメッセージを送信するためのカスタムPHPサーバーを見つけることができます。 http://demo.androidhive.info/firebase/notifications/

0

あなたは、少なくとも2つの方法であなたの問題に近づくことができるFirebase Messaging

関連する問題