Ich versuche, GCM für IOS- und Android-Clients zu verwenden. Es scheint mit IOS gut zu funktionieren, wenn die Anwendung im Vordergrund ist. Wenn die Anwendung jedoch im Hintergrund ausgeführt wird, empfängt das Benachrichtigungscenter die Nachricht nicht und didReceiveRemoteNotification with completionHandler
wird nicht aufgerufen.GCM für iOS-Gerät im Hintergrund arbeiten
Ich identifizierte ein Problem als eine falsch formatierte Nachricht von GCM zu APNS. Nämlich, so sieht es aus:
[message: New message, collapse_key: do_not_collapse, from: **************]Während die IOS-Push-Benachrichtigungen
aps
Schlüssel in der Benachrichtigung haben sollen, habe ich recht? Sowie inhalts verfügbaren Satz auf 1. Beispiel:
{ "aps": { "Content-verfügbar": 1 }, "Daten-ID" 345 }
Durch Der Weg, in der App im Vordergrund die Nachricht trotzdem erhält, ist das Problem nur mit dem Hintergrund. Irgendwelche Ratschläge, wie soll ich ein Problem angehen, damit GCM sowohl für iOS als auch für Android funktioniert?
UPDATE: Das ist, was ich im Netz gefunden: im Hintergrund auf einem iOS-Gerät
In Bezug auf die eigentliche Kommunikation, solange die Anwendung ist, verwendet GCM APNS Nachrichten zu senden, die Die Anwendung verhält sich ähnlich wie das Benachrichtigungssystem von Apple. Aber wenn die App aktiv ist, GCM kommuniziert direkt mit der App
So ist die Botschaft, die ich im Vordergrund Modus erhalten:
[Nachricht: Neue Nachricht, collapse_key: do_not_collapse, ab: *** ***********]
War die direkte Nachricht von GCM (APNS war überhaupt nicht an dieser Affäre beteiligt). Die Frage ist also: Formatiert APNS das, was GCM an das ios-Benachrichtigungsformat sendet? Wenn ja, woher weiß ich, dass APNS tatsächlich etwas tut und ob es mir eine Benachrichtigung in einem anderen Format sendet? Gibt es eine Möglichkeit, Protokolle von eingehenden Daten von APNS anzuzeigen?
UPDATE: Okay, habe ich es geschafft, die die Struktur der Nachricht zu ändern und jetzt im Vordergrund Modus ich die folgende Meldung angezeigt:
Mitteilung erhalten: [ "aps": { "alert" : "Simple Nachricht", "Content-verfügbar": 1}, collapse_key: do_not_collapse, ab: **************]
Nun scheint es gut formatiert zu werden, Aber es gibt immer noch keine Reaktion, wenn die App im Hintergrund ist. didReceiveRemoteNotification completionHandler wird nicht aufgerufen! Nach was soll ich suchen und wo kann ein Problem sein? Kann die eckige Klammer ein Problem für Push-Benachrichtigungen sein? Um noch genauer zu sein, sendet ios keine Benachrichtigungen/Abzeichen/Banner aus dieser eingehenden Benachrichtigung.
Bitte überprüfen http://stackoverflow.com/a/34075999/471499 –