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?