
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
Verstehen des Braze/APNs-Workflows
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 sie 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 Provisioning-Profil konfigurieren
Wenn Sie Ihre App entwickeln, erstellen Sie ein SSL-Zertifikat, um Push-Benachrichtigungen zu aktivieren. Dieses Zertifikat ist im Provisioning-Profil enthalten, mit dem Ihre App erstellt wird, und muss außerdem im 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 Provisioning-Profilen und Zertifikaten: Entwicklung und Distribution. Wir empfehlen, ausschließlich Distribution-Profile und -Zertifikate zu verwenden, um Verwirrung zu vermeiden. Wenn Sie sich dafür entscheiden, verschiedene Profile und Zertifikate für Entwicklung und Distribution zu verwenden, stellen Sie sicher, dass das im Dashboard hochgeladene Zertifikat mit dem Provisioning-Profil übereinstimmt, das Sie aktuell verwenden.

Ändern Sie nicht die Umgebung des Push-Zertifikats (Entwicklung versus Produktion). Das Ändern des Push-Zertifikats auf die falsche Umgebung kann dazu führen, dass die Push-Token Ihrer Nutzer:innen versehentlich entfernt werden, wodurch sie 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 akzeptieren, 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:m Nutzer:in verknüpft haben, wird diese:r im Dashboard in ihrem/seinem Kundenprofil unter dem Tab Engagement als „Push-registriert“ 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 senden wollten, 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 Kundenprofil unter dem Tab Engagement bereit. Dieses Changelog bietet Einblicke in das Push-Registrierungsverhalten, wie z. B. Token-Invalidierung, Push-Registrierungsfehler, Token-Übertragung an neue Nutzer:innen 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 Haltepunkte 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 zu erlauben. In der Regel erscheint diese Aufforderung beim ersten Öffnen der App, kann aber auch so programmiert werden, dass sie an anderer Stelle angezeigt wird. Wenn sie nicht dort erscheint, wo sie erscheinen 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 das Tastenkürzel 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-Funktionalität ordnungsgemäß 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 Haltepunkt in Ihrem Code setzen. - Überprüfen Sie, ob Sie sich auf einem Gerät befinden (Push funktioniert nicht in 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:der Nutzer:in ein ungültiges Push-Token hatte. Dies kann aus mehreren Gründen passieren:
Zertifikat-Abweichung zwischen Dashboard und App
Wenn das Push-Zertifikat, das Sie im Dashboard hochgeladen haben, nicht mit dem im Bereitstellungsprofil übereinstimmt, mit dem Ihre App erstellt wurde, wird APNs das Token ablehnen. Stellen Sie sicher, dass Sie das richtige Zertifikat hochgeladen und eine weitere Sitzung in der App abgeschlossen haben, bevor Sie eine weitere Test-Benachrichtigung versuchen.
Deinstallationen
Wenn eine:r Nutzer:in Ihre Anwendung deinstalliert hat, wird das 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 beseitigen, die durch das gleichzeitige Arbeiten 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 noch „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 versetzen, 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 einfach 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 Kundenprofil der Person, an die Sie eine Testnachricht senden möchten. Unter dem Tab Engagement sollte eine Liste der „push-fähigen Apps“ angezeigt werden. Stellen Sie sicher, dass die App, an die Sie Testnachrichten senden möchten, in dieser Liste enthalten ist. Nutzer:innen werden als „Push-registriert“ 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 hindeuten oder darauf, dass das Token der:des Nutzer:in nach dem Senden durch 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.
Fehlerprotokoll für Nachrichtenaktivitäten
Received unregistered sending to Push-Token
- 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 wie6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, ein langer String aus einer Mischung von 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. Universalzertifikate 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.
Device Token not for topic
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 sending to Push-Token
BadDeviceToken ist ein APNs-Fehlercode und stammt nicht von Braze. Es kann mehrere Gründe geben, warum diese Antwort zurückgegeben wird, darunter 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 Push-Integrationsschritte für iOS 10 befolgt haben.
- Braze verarbeitet keine Push-Benachrichtigungen, die im Vordergrund lautlos 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 die Aufrufe unserer Push-Verarbeitungsmethoden nicht verzögert; andernfalls behandelt das iOS SDK Push-Benachrichtigungen möglicherweise als lautlose Vordergrund-Push-Ereignisse und verarbeitet sie nicht.
Weblinks 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 Weblinks HTTPS verwenden. Weitere Informationen finden Sie in unserem Artikel zur ATS-Konformität.
Deeplinks aus Push-Klicks werden nicht geöffnet
Der größte 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 Linkverarbeitung behebt).
Wenn Öffnungen protokolliert werden, prüfen Sie, ob es sich um ein allgemeines Problem mit dem Deeplink handelt oder um ein Problem mit der Deeplink-Verarbeitung bei Push-Klicks. Testen Sie dazu, ob ein Deeplink aus einem In-App-Nachricht-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 lautlose Push-Benachrichtigungen protokolliert werden.
- Stellen Sie sicher, dass die Nachrichten nicht als lautlose Push-Benachrichtigungen gesendet werden. Die Nachricht muss Text im Titel oder Textkörper enthalten, um nicht als lautlos eingestuft zu werden.
- Überprüfen Sie die folgenden Schritte aus der Push-Integrationsanleitung:
- 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, ob die Methode
(void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:implementiert wurde.
- Für Push registrieren: Bei jedem einzelnen App-Start, vorzugsweise innerhalb von
Tippen auf Push-Story-Bilder bewirkt nichts
Dieser Abschnitt gilt für die Objective-C SDK Push-Story-Integration. Wenn Sie das Swift SDK BrazePushStory-Modul verwenden, setzen Sie UNNotificationExtensionUserInteractionEnabled auf YES. Siehe Push Stories.
Wenn das Tippen auf ein Push-Story-Bild nicht die erwartete Aktion auslöst, öffnen Sie die Info.plist der Notification Content Extension und gleichen Sie die Schlüssel mit dem Push-Story-Setup ab:
UNNotificationExtensionCategory=ab_cat_push_story_v2UNNotificationExtensionDefaultContentHidden=YESUNNotificationExtensionInitialContentSizeRatio=0.65
Wenn UNNotificationExtensionUserInteractionEnabled in dieser plist vorhanden ist, entfernen Sie den Eintrag. Das Objective-C Push-Story-Setup enthält diesen Schlüssel nicht.