GCM-Benachrichtigungen werden im iOS-Hintergrundmodus nicht empfangen
Push-Benachrichtigungen, die von GCM gesendet werden, werden möglicherweise nicht von iOS-Geräten empfangen, wenn sich die App im iOS-Hintergrundmodus befindet Hintergrund. Dies kann auf mehrere Faktoren zurückgeführt werden. Hier ist eine Analyse des Problems und seiner Lösung:
Problem 1: Benachrichtigungen werden nicht im Hintergrund empfangen
- GCM-Benachrichtigungen werden normalerweise als Datennachrichten an iOS-Geräte übermittelt . Diese Nachrichten werden nicht im Benachrichtigungsbereich angezeigt, es sei denn, die App befindet sich im Vordergrund.
- Um dieses Problem zu beheben, können Sie Ihr PHP-Skript so ändern, dass Push-Benachrichtigungen als Inhalt-verfügbare-Nachrichten gesendet werden. Diese Nachrichten priorisieren die Zustellung, auch wenn die App im Hintergrund läuft.
Problem 2: „Verbindung zum GCM konnte nicht hergestellt werden“ Fehler
- Beim Versuch Um Benachrichtigungen im Hintergrund zu erhalten, erhalten Sie die Fehlermeldung „Verbindung zum GCM konnte nicht hergestellt werden.“ Dieser Fehler tritt auf, weil der GCM-Dienst ausgeführt werden muss, um Nachrichten zu empfangen.
- Stellen Sie sicher, dass Sie in Ihrer AppDelegate.m-Datei die richtige Verbindungsbehandlung implementiert haben, insbesondere „applicationDidBecomeActive“ und „applicationDidEnterBackground“ Methoden, um eine Verbindung zu GCM herzustellen und aufrechtzuerhalten.
PHP-Code-Lösung
Fügen Sie die folgenden Änderungen zu Ihrem PHP-Skript hinzu:
<code class="php">$data = array(
'message' => 'Hello World!',
'body' => 'Hello World!',
);
$post = array(
'registration_ids' => $ids,
'data' => $data,
'content_available' => true, // To trigger when iOS app is in background
'priority' => 'high',
'notification' => $data, // Send notification payload
);</code>
Nach dem Login kopieren
iOS-Codelösung
Auf der iOS-Seite sind keine Änderungen erforderlich. Stellen Sie jedoch sicher, dass Sie die Anweisungen in der GCM-Dokumentation befolgt haben, um den GCM-Dienst korrekt zu implementieren.
Zusätzliche Tipps
- Verwenden Sie einen Push-Benachrichtigungstestdienst, um zu überprüfen, ob Ihre Nachrichten ordnungsgemäß formatiert und zugestellt werden.
- Überprüfen Sie, ob Ihr iOS-Gerät die Berechtigung erteilt hat um Push-Benachrichtigungen zu erhalten.
- Wenn Sie auf andere Probleme stoßen, lesen Sie die GCM-Dokumentation oder suchen Sie Hilfe in den GCM-Community-Foren.
Das obige ist der detaillierte Inhalt vonWarum werden GCM-Benachrichtigungen im iOS-Hintergrundmodus nicht empfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!