Die FCM-Nachricht „Alert + Data“ löst unter iOS nicht immer FirebaseMessaging.onMessage aus
Posted: 05 Jan 2025, 03:27
Ich habe eine sehr einfache Flatter-App, die auf Firebase-Benachrichtigungen lauscht.
Der Teil des Abhörens ist dieser:
und die Nachricht, die (von unterwegs) gesendet wird, ist diese:
Während der Tests ist die App immer im Vordergrund und ich verwende ein physisches iPhone mit dem neuesten iOS 18.
Die erste Meldung wird korrekt empfangen – ich kann sehen, wie die Benachrichtigung knallt und ich kann den Ausdruck in der MacOS-Konsole sehen.
Ab der zweiten Nachricht kann ich nur noch sehen, wie die Benachrichtigung knallt, aber der Druck erfolgt nie angerufen.
Es bedeutet, dass die Der Code ist technisch korrekt und wird beim ersten Mal korrekt ausgeführt, aber nachfolgende Benachrichtigungen lösen den onMessage-Listener einfach erst zu einem scheinbar zufälligen Zeitpunkt aus, wenn er tatsächlich funktioniert. Ich scheine nicht herauszufinden, in welcher Reihenfolge die Schritte erfolgen oder wie lange es dauert, bis es wieder funktioniert.
Ich habe gesehen, dass iOS bei Ausnahmen drosselt, aber ich sehe keine Ausnahmen beim onMessage-Rückruf.
Gibt es einen Grund, warum iOS sich einfach dafür entscheiden würde, meinen Rückruf nicht anzurufen?
Der Teil des Abhörens ist dieser:
Code: Select all
FirebaseMessaging.onMessage.listen((RemoteMessage message) => print("hello"))
Code: Select all
var apsMessage = messaging.Aps{
ContentAvailable: true,
MutableContent: true, // I think I don't need this
Alert: &messaging.ApsAlert{
Title: "Incoming message",
Body: "mybody",
},
CustomData: map[string]interface{}{
"interruption-level": "active",
},
Sound: "default"
}
messagingClient.Send(ctx, &messaging.Message{
Token: token,
Android: ...,
APNS: &messaging.APNSConfig{
Headers: map[string]string{
"apns-priority": "10"},
Payload: &messaging.APNSPayload{
Aps: &apsMessage,
CustomData: map[string]interface{}{
"data_key": "data_value",
},
},
},
})
Die erste Meldung wird korrekt empfangen – ich kann sehen, wie die Benachrichtigung knallt und ich kann den Ausdruck in der MacOS-Konsole sehen.
Ab der zweiten Nachricht kann ich nur noch sehen, wie die Benachrichtigung knallt, aber der Druck erfolgt nie angerufen.
Es bedeutet, dass die Der Code ist technisch korrekt und wird beim ersten Mal korrekt ausgeführt, aber nachfolgende Benachrichtigungen lösen den onMessage-Listener einfach erst zu einem scheinbar zufälligen Zeitpunkt aus, wenn er tatsächlich funktioniert. Ich scheine nicht herauszufinden, in welcher Reihenfolge die Schritte erfolgen oder wie lange es dauert, bis es wieder funktioniert.
Ich habe gesehen, dass iOS bei Ausnahmen drosselt, aber ich sehe keine Ausnahmen beim onMessage-Rückruf.
Gibt es einen Grund, warum iOS sich einfach dafür entscheiden würde, meinen Rückruf nicht anzurufen?