2017-12-01 3 views
0

特定の種類のFirebase通知が届いたら、カスタム通知音を再生しています。基本的に、パスはペイロードに指定され、.mp3ファイルは、ドキュメントに指定されているAndroidプラットフォームのフォルダのresources/raw/パスにあります。電話がスリープ状態になるとカスタム通知音が鳴りません

問題は、アプリケーションがフォアグラウンドの間にのスリープ状態のとき以外は、カスタム通知音が常に再生されることです。この場合、電話機自体からデフォルトの通知音が再生されます。アプリがフォアグラウンドにあるときに電話機を手動でロックすると、カスタム通知音がうまく再生されます。それは、私が電話を離れて寝るだけで起こります。最も重要なことは、問題は一部の電話機(一般的には古いモデル)でのみ発生します。 Samsung Galaxy J1 Mini。この電話のAndroidバージョンは5.1.1です。

特定の電話機モデルで電話機がのスリープ状態になっている場合にのみ発生するため、コードまたはペイロードに問題はありません。私はこの問題に対処するオンラインソースを見つけられていないので、ここにいる誰かがこれまでにやってくることを願っています。

+0

最新のFCMまたは古いGCMを使用していますか?メッセージに「データ」ペイロード、「通知」ペイロード、またはその両方が含まれていますか? FCM/GCMメッセージを受信したときに実行するコードをアプリに投稿できますか? –

+0

'{ \t "を": "deviceToken"、 \t "優先"、 "高" \t "通知":{ \t \t "タイトル": "テストタイトル"、 \t \t "本体":"テストメッセージ」、 \t \t "音": "通知"、 \t \t "content_available":1 \t}、 \t "データ":{ \t \t "メッセージ": "テストメッセージ"、 \t \t "notifType": "タイプコード"、 \t \t "bookingId": "テストID" \t}} ' これは、ペイロードは、次のようになります。ペイロードはアプリ上で正常に処理されています。それは通知です。モバイルがスリープ状態になり、通知を受信したときに再生されていないペイロード(「サウンド」:「通知」)に指定されているmp3。 – jablesauce

+0

誤った通知音が再生されると、ペイロードに指定されたメッセージを含むシステムトレイ通知も表示されますか?また、あなたのアプリではどのバージョンのcom.google.firebase:firebase-messagingライブラリを使用していますか?最新のバージョンでない場合は、最新バージョン(またはそれ以降のバージョン)にアップグレードし、それが役立つかどうかを確認するオプションですか? –

答えて

0

これは、GCMプッシュメッセージが端末に送信されていないことを意味します。これに最も一般的な理由は次のとおりです。

1. Androidのシステム設定でGoogle Playサービスの「バックグラウンドデータ」を無効にしています。

2.アプリケーションの「バックグラウンドデータ」も確認してください。

3.一部のAndroid Mobiles私たちはMobile Managerを使用しています。アプリケーションをバックグラウンドで実行しなくなります。モバイルがロックされているときにアプリケーションをバックグラウンドで実行できるようにする必要があります(Whatsappの場合、Facebook Appのモバイル会社は自動的にバックグラウンドでサービスを実行できます)。

4.テーマランチャーを使用している場合、通知はありません。

私がこの問題に直面したとき、私はこれらのステップに従った。

+0

GCMプッシュメッセージは実際に正常に到着し、関連するペイロードは正しく処理されます。再生していないカスタム通知音で、代わりにデフォルトの通知音が再生されています。私は繰り返す - この場合は、前述の電話がスリープ状態になったとき(手動でロックされていない)にのみ発生します。 – jablesauce

関連する問題