2017-12-09 11 views
0

FCMからのメッセージを受信したときにアラームを開始するアプリを作成しました。アプリケーションは、フォアグラウンド、バックグラウンド、またはアクティビティが閉じられているときに正常に動作します。電話が眠っているときにonMessageReceivedが呼び出されない

しかし、電話が長時間スリープモードになっている場合(正確な時刻がわからない場合)、電話が手動で起動するまで、onMessageReceivedメソッドは呼び出されません。 FCMメッセージは、優先度の高いデータメッセージです。文書によれば、電話機を起動することができるはずです。

この問題を解決するにはどうすればよいですか? WakeLockを使用していますか?または、バッテリーの寿命が重いですか?

+0

私はそれらがトピックメッセージでなければならないと思いますか?右? – Xenolion

+0

はい、すべてのアプリユーザーが自動的に購読しているトピックにメッセージを送信しています。 – PaulB

+0

これは@PaulBです。なぜなら、トピックメッセージは優先度が高く、優先度が高く、緊急ではないと考えられているため優先度が低く優先度が低い(時には)傾向があるからです。あなたのケースが最速の方法を望んでいる場合は、デバイスまたはデバイスグループに送信してください。これは私の経験だけでは説明されていません! – Xenolion

答えて

0

バックエンドからこの形式で通知を送信します

{ 


"notification" : { 
    "click_action" : ".MainActivity", 
    "body" : "new Symulti update !", 
    "title" : "new Symulti update !", 
    "icon" : "ic_notif_symulti" }, 



"data": { ... }, 


"to" : "c9Vaa3ReGdk:APA91bH-AuXgg3lDN2WMcBrNhJZoFtYF9" } 

ここで重要なのは、ハンドルクリックアクションのため

"click_action" : ".MainActivity" 

を追加することです。

+0

通知を最初にクリックしたときにこれは効果がありませんか? – PaulB

関連する問題