
Das AppboyKit (auch bekannt als Objective-C SDK) wird nicht mehr unterstützt und wurde durch das Swift SDK. ] ersetzt. Es wird keine neuen Features, Fehlerbehebungen, Sicherheitsupdates oder technischen Support mehr erhalten - Messaging und Analytics werden jedoch weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie unter Einführung in das neue Braze Swift SDK.
Fehlerbehebung
Den Braze/APNs-Workflow verstehen
Der Apple Push Notification Service (APNs) ist Apples Infrastruktur für den Versand von Push-Benachrichtigungen an iOS- und OS-X-Anwendungen. Hier ist die vereinfachte Struktur, wie Push-Benachrichtigungen für die Geräte Ihrer Nutzer:innen aktiviert werden und wie Braze Push-Benachrichtigungen an diese senden kann:
- Sie konfigurieren das Push-Zertifikat und das Bereitstellungsprofil
- Geräte registrieren sich bei APNs und stellen Braze Push-Token bereit
- Sie starten eine Braze-Push-Campaign
- Braze entfernt ungültige Token
Schritt 1: Push-Zertifikat und Bereitstellungsprofil konfigurieren
Wenn Sie Ihre App entwickeln, erstellen Sie ein SSL-Zertifikat, um Push-Benachrichtigungen zu aktivieren. Dieses Zertifikat ist im Bereitstellungsprofil enthalten, mit dem Ihre App erstellt wird, und muss außerdem in das Braze-Dashboard hochgeladen werden. Das Zertifikat ermöglicht es Braze, APNs mitzuteilen, dass wir berechtigt sind, Push-Benachrichtigungen in Ihrem Namen zu senden.
Es gibt zwei Arten von Bereitstellungsprofilen und Zertifikaten: Entwicklung und Distribution. Wir empfehlen, ausschließlich Distributionsprofile und -zertifikate zu verwenden, um Verwechslungen zu vermeiden. Wenn Sie sich für unterschiedliche Profile und Zertifikate für Entwicklung und Distribution entscheiden, stellen Sie sicher, dass das im Dashboard hochgeladene Zertifikat mit dem aktuell verwendeten Bereitstellungsprofil übereinstimmt.

Ändern Sie nicht die Umgebung des Push-Zertifikats (Entwicklung versus Produktion). Ein Wechsel des Push-Zertifikats auf die falsche Umgebung kann dazu führen, dass die Push-Token Ihrer Nutzer:innen versehentlich entfernt werden, wodurch diese per Push nicht mehr erreichbar sind.
Schritt 2: Geräte registrieren sich bei APNs und stellen Braze Push-Token bereit
Wenn Nutzer:innen Ihre App öffnen, werden sie aufgefordert, Push-Benachrichtigungen zu akzeptieren. Wenn sie diese Aufforderung annehmen, generiert APNs ein Push-Token für das jeweilige Gerät. Das iOS SDK sendet das Push-Token sofort und asynchron für Apps, die die standardmäßige automatische Flush-Richtlinie verwenden. Sobald wir ein Push-Token mit einer/einem Nutzer:in verknüpft haben, wird diese Person im Dashboard in ihrem Nutzerprofil unter dem Tab Engagement als „Push Registered“ angezeigt und ist berechtigt, Push-Benachrichtigungen aus Braze Campaigns zu erhalten.

Ab Xcode 14 können Sie Remote-Push-Benachrichtigungen in einem iOS-Simulator testen.
Schritt 3: Eine Braze-Push-Campaign starten
Wenn eine Push-Campaign gestartet wird, sendet Braze Anfragen an APNs, um Ihre Nachricht zuzustellen. Braze verwendet das im Dashboard hochgeladene SSL-Push-Zertifikat zur Authentifizierung und Überprüfung, dass wir berechtigt sind, Push-Benachrichtigungen an die bereitgestellten Push-Token zu senden. Wenn ein Gerät online ist, sollte die Benachrichtigung kurz nach dem Versand der Campaign empfangen werden. Beachten Sie, dass Braze das standardmäßige APNs-Ablaufdatum für Benachrichtigungen auf 30 Tage setzt.
Schritt 4: Ungültige Token entfernen
Wenn APNs uns mitteilt, dass Push-Token, an die wir eine Nachricht zu senden versucht haben, ungültig sind, entfernen wir diese Token aus den Nutzerprofilen, mit denen sie verknüpft waren.
Push-Fehlerprotokolle nutzen
Braze stellt ein Protokoll der Push-Benachrichtigungsfehler im Nachrichtenaktivitätsprotokoll bereit. Dieses Fehlerprotokoll enthält eine Vielzahl von Warnungen, die sehr hilfreich sein können, um herauszufinden, warum Ihre Campaigns nicht wie erwartet funktionieren. Wenn Sie eine Fehlermeldung auswählen, werden Sie zur entsprechenden Dokumentation weitergeleitet, die Ihnen bei der Fehlerbehebung eines bestimmten Vorfalls hilft.

Häufige Fehler, die hier auftreten können, umfassen nutzerspezifische Benachrichtigungen wie „Received Unregistered Sending to Push Token“.
Darüber hinaus stellt Braze auch ein Push-Changelog im Nutzerprofil unter dem Tab Engagement bereit. Dieses Changelog bietet Einblicke in das Push-Registrierungsverhalten, wie z. B. Token-Invalidierung, Push-Registrierungsfehler, Token, die neuen Nutzer:innen zugewiesen werden, usw.

Probleme bei der Push-Registrierung
Um die Push-Registrierungslogik Ihrer Anwendung zu überprüfen, implementieren Sie Push-Unit-Tests.
Keine Aufforderung zur Push-Registrierung
Wenn die Anwendung Sie nicht zur Registrierung für Push-Benachrichtigungen auffordert, liegt wahrscheinlich ein Problem mit Ihrer Push-Registrierungsintegration vor. Stellen Sie sicher, dass Sie unsere Dokumentation befolgt und unsere Push-Registrierung korrekt integriert haben. Sie können auch Breakpoints in Ihrem Code setzen, um sicherzustellen, dass der Push-Registrierungscode ausgeführt wird.
Keine „push-registrierten“ Nutzer:innen im Dashboard sichtbar
- Überprüfen Sie, ob Ihre App Sie auffordert, Push-Benachrichtigungen zuzulassen. In der Regel erscheint diese Aufforderung beim ersten Öffnen der App, sie kann aber auch an anderer Stelle programmiert werden. Wenn sie nicht dort erscheint, wo sie sollte, liegt das Problem wahrscheinlich in der grundlegenden Konfiguration der Push-Funktionen Ihrer App.
- Überprüfen Sie, ob die Schritte für die Push-Integration erfolgreich abgeschlossen wurden.
- Überprüfen Sie, ob das Bereitstellungsprofil, mit dem Ihre App erstellt wurde, Berechtigungen für Push enthält. Stellen Sie sicher, dass Sie alle verfügbaren Bereitstellungsprofile von Ihrem Apple-Entwicklerkonto abrufen. Um dies zu bestätigen, führen Sie die folgenden Schritte aus:
- Navigieren Sie in Xcode zu Preferences > Accounts (oder verwenden Sie die Tastenkombination Command+,).
- Wählen Sie die Apple-ID aus, die Sie für Ihr Entwicklerkonto verwenden, und klicken Sie auf View Details.
- Klicken Sie auf der nächsten Seite auf Refresh und bestätigen Sie, dass Sie alle verfügbaren Bereitstellungsprofile abrufen.
- Überprüfen Sie, ob Sie die Push-Funktion korrekt aktiviert haben in Ihrer App.
- Überprüfen Sie, ob Ihr Push-Bereitstellungsprofil mit der Umgebung übereinstimmt, in der Sie testen. Universelle Zertifikate können im Braze-Dashboard so konfiguriert werden, dass sie entweder an die Entwicklungs- oder die Produktions-APNs-Umgebung senden. Die Verwendung eines Entwicklungszertifikats für eine Produktions-App oder eines Produktionszertifikats für eine Entwicklungs-App funktioniert nicht.
- Überprüfen Sie, ob Sie unsere
registerPushToken-Methode aufrufen, indem Sie einen Breakpoint in Ihrem Code setzen. - Überprüfen Sie, ob Sie ein Gerät verwenden (Push funktioniert nicht auf einem Simulator) und eine gute Netzwerkverbindung haben.
Geräte empfangen keine Push-Benachrichtigungen
Nutzer:innen sind nach dem Senden einer Push-Benachrichtigung nicht mehr „push-registriert“
Dies deutet wahrscheinlich darauf hin, dass die Nutzer:innen ein ungültiges Push-Token hatten. Dies kann verschiedene Ursachen haben:
Zertifikat im Dashboard und in der App stimmen nicht überein
Wenn das Push-Zertifikat, das Sie im Dashboard hochgeladen haben, nicht mit dem im Bereitstellungsprofil übereinstimmt, mit dem Ihre App erstellt wurde, lehnt APNs das Token ab. Überprüfen Sie, ob Sie das richtige Zertifikat hochgeladen und eine weitere Sitzung in der App abgeschlossen haben, bevor Sie eine weitere Testbenachrichtigung versuchen.
Deinstallationen
Wenn Nutzer:innen Ihre Anwendung deinstalliert haben, wird ihr Push-Token ungültig und beim nächsten Senden entfernt.
Bereitstellungsprofil neu generieren
Als letzten Ausweg können Sie von vorne beginnen und ein komplett neues Bereitstellungsprofil erstellen, um Konfigurationsfehler zu beheben, die durch die gleichzeitige Arbeit mit mehreren Umgebungen, Profilen und Apps entstehen. Es gibt viele „bewegliche Teile“ beim Einrichten von Push-Benachrichtigungen für iOS-Apps, daher ist es manchmal am besten, von Anfang an neu zu beginnen. Dies hilft auch dabei, das Problem einzugrenzen, falls Sie die Fehlerbehebung fortsetzen müssen.
Nutzer:innen sind nach dem Senden einer Push-Benachrichtigung weiterhin „push-registriert“
App ist im Vordergrund
Bei iOS-Versionen, die Push nicht über das UserNotifications-Framework integrieren, wird die Push-Nachricht nicht angezeigt, wenn die App beim Empfang im Vordergrund ist. Sie sollten die App auf Ihren Testgeräten in den Hintergrund verschieben, bevor Sie Testnachrichten senden.
Testbenachrichtigung falsch geplant
Überprüfen Sie den Zeitplan, den Sie für Ihre Testnachricht festgelegt haben. Wenn die Zustellung auf Ortszeit oder intelligentes Timing eingestellt ist, haben Sie die Nachricht möglicherweise noch nicht erhalten (oder die App war beim Empfang im Vordergrund).
Nutzer:in ist nicht „push-registriert“ für die getestete App
Überprüfen Sie das Nutzerprofil der Person, an die Sie eine Testnachricht senden möchten. Unter dem Tab Engagement sollte eine Liste der „pushfähigen Apps“ angezeigt werden. Überprüfen Sie, ob die App, an die Sie Testnachrichten senden möchten, in dieser Liste enthalten ist. Nutzer:innen werden als „Push Registered“ angezeigt, wenn sie ein Push-Token für eine beliebige App in Ihrem Workspace haben, sodass dies ein falsch positives Ergebnis sein könnte.
Folgendes würde auf ein Problem mit der Push-Registrierung hinweisen oder darauf, dass das Token der Nutzer:innen nach dem Senden von APNs als ungültig an Braze zurückgegeben wurde:

Push-Nachrichten werden nicht gesendet
Informationen zur Fehlerbehebung bei Push-Benachrichtigungen, die nicht gesendet werden, finden Sie unter Fehlerbehebung für Push.
Fehler im Nachrichtenaktivitätsprotokoll
Nicht registriertes Senden an Push-Token empfangen
- Stellen Sie sicher, dass das Push-Token, das über die Methode
[[Appboy sharedInstance] registerPushToken:]an Braze gesendet wird, gültig ist. Sie können im Nachrichtenaktivitätsprotokoll das Push-Token einsehen. Es sollte in etwa so aussehen:6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, ein langer String mit einer Mischung aus Buchstaben und Zahlen. Wenn Ihr Push-Token anders aussieht, überprüfen Sie Ihren Code zum Senden der Push-Token an Braze. - Stellen Sie sicher, dass Ihr Push-Bereitstellungsprofil mit der Umgebung übereinstimmt, in der Sie testen. Universelle Zertifikate können im Braze-Dashboard so konfiguriert werden, dass sie entweder an die Entwicklungs- oder die Produktions-APNs-Umgebung senden. Die Verwendung eines Entwicklungszertifikats für eine Produktions-App oder eines Produktionszertifikats für eine Entwicklungs-App funktioniert nicht.
- Überprüfen Sie, ob das Push-Token, das Sie bei Braze hochgeladen haben, mit dem Bereitstellungsprofil übereinstimmt, das Sie zum Erstellen der App verwendet haben, von der das Push-Token gesendet wurde.
Geräte-Token nicht für das Thema
Dieser Fehler weist darauf hin, dass das Push-Zertifikat Ihrer App und die Bundle-ID nicht übereinstimmen. Überprüfen Sie, ob das Push-Zertifikat, das Sie bei Braze hochgeladen haben, mit dem Bereitstellungsprofil übereinstimmt, das zum Erstellen der App verwendet wurde, von der das Push-Token gesendet wurde.
BadDeviceToken beim Senden an Push-Token
BadDeviceToken ist ein APNs-Fehlercode und stammt nicht von Braze. Es kann verschiedene Gründe geben, warum diese Antwort zurückgegeben wird, unter anderem die folgenden:
- Die App hat ein Push-Token erhalten, das für die im Dashboard hochgeladenen Zugangsdaten ungültig war.
- Push wurde für diesen Workspace deaktiviert.
- Die Nutzer:in hat Push deaktiviert.
- Die App wurde deinstalliert.
- Apple hat das Push-Token aktualisiert, wodurch das alte Token ungültig wurde.
- Die App wurde für eine Produktionsumgebung erstellt, aber die in Braze hochgeladenen Push-Zugangsdaten sind für eine Entwicklungsumgebung konfiguriert (oder umgekehrt).
Probleme nach der Push-Zustellung
Um die Push-Verarbeitung Ihrer Anwendung zu überprüfen, implementieren Sie Push-Unit-Tests.
Push-Klicks werden nicht protokolliert
- Wenn dieses Problem nur unter iOS 10 auftritt, stellen Sie sicher, dass Sie die Schritte zur Push-Integration für iOS 10 befolgt haben.
- Braze verarbeitet keine Push-Benachrichtigungen, die im Vordergrund stillschweigend empfangen werden (z. B. das standardmäßige Vordergrund-Push-Verhalten vor dem
UserNotifications-Framework). Das bedeutet, dass Links nicht geöffnet und Push-Klicks nicht protokolliert werden. Wenn Ihre Anwendung dasUserNotifications-Framework noch nicht integriert hat, verarbeitet Braze keine Push-Benachrichtigungen, wenn der AnwendungsstatusUIApplicationStateActiveist. Stellen Sie sicher, dass Ihre App Aufrufe unserer Push-Verarbeitungsmethoden nicht verzögert, da das iOS SDK Push-Benachrichtigungen andernfalls möglicherweise als stille Vordergrund-Push-Ereignisse behandelt und nicht weiterverarbeitet.
Web-Links aus Push-Klicks werden nicht geöffnet
iOS 9+ erfordert, dass Links ATS-konform sind, um in Webansichten geöffnet zu werden. Stellen Sie sicher, dass Ihre Web-Links HTTPS verwenden. Weitere Informationen finden Sie in unserem Artikel zur ATS-Konformität.
Deeplinks aus Push-Klicks werden nicht geöffnet
Der Großteil des Codes, der Deeplinks verarbeitet, verarbeitet auch Push-Öffnungen. Stellen Sie zunächst sicher, dass Push-Öffnungen protokolliert werden. Falls nicht, beheben Sie dieses Problem (da die Lösung häufig auch die Link-Verarbeitung behebt).
Wenn Öffnungen protokolliert werden, prüfen Sie, ob es sich um ein allgemeines Problem mit dem Deeplink oder um ein Problem mit der Deeplink-Verarbeitung bei Push-Klicks handelt. Testen Sie dazu, ob ein Deeplink aus einem In-App-Nachrichten-Klick funktioniert.
Wenige oder keine direkten Öffnungen
Wenn mindestens ein:e Nutzer:in Ihre iOS-Push-Benachrichtigung öffnet, aber wenige oder keine Direkten Öffnungen in Braze protokolliert werden, liegt möglicherweise ein Problem mit Ihrer SDK-Integration vor. Beachten Sie, dass Direkte Öffnungen nicht für Testsendungen oder stille Push-Benachrichtigungen protokolliert werden.
- Stellen Sie sicher, dass die Nachrichten nicht als stille Push-Benachrichtigungen gesendet werden. Die Nachricht muss Text im Titel oder im Textkörper enthalten, um nicht als still eingestuft zu werden.
- Überprüfen Sie die folgenden Schritte aus dem Leitfaden zur Push-Integration:
- Für Push registrieren: Bei jedem einzelnen App-Start, vorzugsweise innerhalb von
application:didFinishLaunchingWithOptions:, muss der Code aus Schritt 3 ausgeführt werden. Die Delegate-Eigenschaft vonUNUserNotificationCenter.current()muss einem Objekt zugewiesen werden, dasUNUserNotificationCenterDelegateimplementiert und die Methode(void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:enthält. - Push-Verarbeitung aktivieren: Überprüfen Sie, dass die Methode
(void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:implementiert wurde.
- Für Push registrieren: Bei jedem einzelnen App-Start, vorzugsweise innerhalb von