2017-12-01 2 views
0

Ich spiele einen benutzerdefinierten Benachrichtigungston, wenn eine Firebase-Benachrichtigung einer bestimmten Art empfangen wird. Grundsätzlich wird der Pfad in der Payload angegeben und die .mp3-Datei befindet sich im Pfad resources/raw/ des Android-Plattformordners, wie in der Dokumentation angegeben.Benutzerdefinierter Benachrichtigungston wird nicht wiedergegeben, wenn das Telefon in den Ruhezustand wechselt

Das Problem ist, dass der benutzerdefinierte Benachrichtigungston immer spielt, außer wenn ich das Telefon in den Ruhezustand verlasse, während sich die Anwendung im Vordergrund befindet. In diesem Fall wird der Standardbenachrichtigungston vom Telefon selbst wiedergegeben. Wenn das Telefon manuell gesperrt wird, während sich die App im Vordergrund befindet, wird der benutzerdefinierte Benachrichtigungston wiedergegeben. Es passiert nur, wenn ich das Telefon alleine lasse. Am wichtigsten ist jedoch, dass das Problem nur bei einigen Telefonen (in der Regel älteren Modellen) auftritt; die Samsung Galaxy J1 Mini. Die Android-Version dieses Telefons lautet 5.1.1.

Ich habe keine Probleme im Code oder in der Nutzlast, weil dies nur passiert, wenn das Telefon und auf bestimmten Telefonmodellen schläft. Ich habe keine Online-Quellen gefunden, die dieses Problem angehen, also hoffe ich, dass jemand hier schon einmal darauf gestoßen ist.

+0

Verwenden Sie das neuere FCM oder älteres GCM? Enthält die Nachricht eine "Daten" -Nutzlast oder eine "Benachrichtigungs" -Nutzlast oder beides? Können Sie in Ihrer App Code posten, der beim Empfang einer FCM/GCM-Nachricht ausgeführt wird? –

+0

'{ \t "auf": "deviceToken", \t "Priorität": "hoch", \t "Benachrichtigung": { \t \t "title": "Test-Titel", \t \t "Körper":" Testnachricht“, \t \t "Ton": "Benachrichtigung", \t \t "content_available": 1 \t}, \t "data": { \t \t "message": "Testnachricht", \t \t "notifType": "Typcode", \t \t "BookingID": "Test-ID" \t} } ' Dies ist, was die Nutzlast aussieht. Die Payload wird in der App gut verarbeitet. Es ist die Benachrichtigung.mp3, das in der Payload ("Sound": "notification") angegeben ist und nicht abgespielt wird, wenn das Handy in den Ruhezustand wechselt und eine Benachrichtigung empfangen wird. – jablesauce

+0

Wenn der falsche Benachrichtigungssound abgespielt wird, erhalten Sie auch eine Systemablagebenachrichtigung mit der Nachricht, wie in der Payload angegeben? Welche Version der Bibliothek com.google.firebase: firebase-messaging verwenden Sie in Ihrer App? Wenn es nicht die neueste Version ist, ist es eine Option, auf die neueste Version (oder zumindest eine spätere Version) zu aktualisieren und zu sehen, ob das hilft? –

Antwort

0

Wenn dies passiert, bedeutet dies, dass GCM-Push-Nachrichten nicht auf Ihr Gerät übertragen werden. Die häufigsten Gründe hierfür sind:

1.Sie haben "Hintergrunddaten" für Google Play-Dienste in den Systemeinstellungen von Android deaktiviert.

2.Check für Ihre Anwendung "Hintergrunddaten" auch.

3.Some Android Handys Wir verwenden Mobile Manager sind so.Ich werde aufhören, unsere Anwendung im Hintergrund laufen.So müssen wir unsere Anwendung läuft im Hintergrund, wenn das Handy gesperrt ist. (Für WhatsApp, Facebook App Mobile Unternehmen aktivieren automatisch den Betrieb des Dienstes im Hintergrund).

4. Wenn Sie einen Theme Launcher verwenden, erhalten Sie keine Benachrichtigung.

Ich folgte diesen Schritten, als ich mit diesem Problem konfrontiert wurde.

+0

Die GCM-Push-Nachrichten kommen tatsächlich gut an und alle zugehörigen Nutzdaten werden korrekt verarbeitet. Es ist der benutzerdefinierte Benachrichtigungssound, der nicht abgespielt wird, stattdessen wird der Standardbenachrichtigungston wiedergegeben. Ich wiederhole - dieser Fall passiert nur, wenn das oben genannte Telefon in den Ruhezustand geht (nicht manuell gesperrt). – jablesauce

Verwandte Themen