
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 Arbeitsablauf von Braze/APNs 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 sie senden kann:
- Sie konfigurieren das Push-Zertifikat und das Bereitstellungsprofil
- Geräte registrieren sich für APNs und versorgen Braze mit Push-Token
- Sie starten eine Braze-Push-Campaign
- Braze entfernt ungültige Token
1. Schritt: Konfigurieren des Push-Zertifikats und des Bereitstellungsprofils
Bei der Entwicklung Ihrer App müssen Sie ein SSL-Zertifikat erstellen, um Push-Benachrichtigungen zu aktivieren. Dieses Zertifikat wird in das Bereitstellungsprofil Ihrer App aufgenommen und muss außerdem in das Braze-Dashboard hochgeladen werden. Das Zertifikat ermöglicht es Braze, APNs mitzuteilen, dass wir in Ihrem Namen Push-Benachrichtigungen senden dürfen.
Es gibt zwei Arten von Bereitstellungsprofilen und Zertifikaten: Entwicklung und Verteilung. Um Unklarheiten zu vermeiden, empfehlen wir, nur Verteilungsprofile und -zertifikate zu verwenden. Wenn Sie unterschiedliche Profile und Zertifikate für die Entwicklung und Verteilung verwenden möchten, stellen Sie sicher, dass das in das Dashboard hochgeladene Zertifikat mit dem derzeit verwendeten Bereitstellungsprofil übereinstimmt.

Ändern Sie nicht die Push-Zertifikat-Umgebung (Entwicklung oder Produktion). Wenn Sie das Push-Zertifikat in die falsche Umgebung ändern, kann dies dazu führen, dass Ihren Nutzer:innen versehentlich ihr Push-Token entzogen wird, sodass sie nicht mehr per Push erreichbar sind.
2. Schritt: Geräte registrieren sich für APNs und versorgen Braze mit Push-Token
Wenn Nutzer:innen Ihre App öffnen, werden sie aufgefordert, Push-Benachrichtigungen zu akzeptieren. Stimmen sie der Aufforderung zu, generieren die APNs ein Push-Token für das betreffende Gerät. Das iOS SDK sendet das Push-Token für Apps, die die standardmäßige Auto-Flush-Richtlinie verwenden, sofort und asynchron. Nachdem wir ein Push-Token mit einer Nutzer:in verknüpft haben, wird diese im Dashboard auf ihrem Nutzerprofil unter dem Tab Engagement als „Push registriert“ angezeigt und ist berechtigt, Push-Benachrichtigungen von Braze-Campaigns zu erhalten.

Ab Xcode 14 können Sie Remote-Push-Benachrichtigungen auf einem iOS-Simulator testen.
3. Schritt: Starten einer Braze-Push-Campaign
Beim Starten einer Push-Campaign stellt Braze Anfragen an APNs, um Ihre Nachricht zuzustellen. Braze verwendet das im Dashboard hochgeladene SSL-Push-Zertifikat, um sich zu authentifizieren und zu überprüfen, ob wir Push-Benachrichtigungen an die angegebenen Push-Token senden dürfen. Wenn ein Gerät online ist, sollte die Benachrichtigung kurz nach dem Senden der Campaign empfangen werden. Beachten Sie, dass Braze das standardmäßige APNs-Ablaufdatum für Benachrichtigungen auf 30 Tage festlegt.
4. Schritt: Entfernen ungültiger Token
Wenn APNs uns informiert, dass eines der Push-Token, an das wir eine Nachricht senden wollten, ungültig ist, entfernen wir diese Token aus den Nutzerprofilen, mit denen sie verknüpft waren.
Verwendung der Push-Fehlerprotokolle
Braze bietet ein Protokoll der Push-Benachrichtigungsfehler im Nachrichten-Aktivitätsprotokoll. Dieses Fehlerprotokoll enthält eine Reihe von Warnungen, die sehr hilfreich sein können, um festzustellen, warum Ihre Campaigns nicht wie erwartet funktionieren. Wenn Sie auf eine Fehlermeldung klicken, werden Sie zur entsprechenden Dokumentation weitergeleitet, die Sie bei der Fehlerbehebung unterstützt.

Zu den häufigen Fehlern, die Ihnen hier angezeigt werden, gehören nutzerspezifische Benachrichtigungen wie „Nicht registrierte Sendung an Push-Token empfangen“.
Darüber hinaus stellt Braze unter dem Tab Engagement ein Push-Changelog für das Nutzerprofil bereit. Dieses Changelog enthält Insights zum Verhalten bei der Push-Registrierung, z. B. Token-Invalidierung, Fehler bei der Push-Registrierung, zu neuen Nutzer:innen verschobene Token usw.

Probleme bei der Push-Registrierung
Um die Logik der Push-Registrierung für Ihre Anwendung zu verifizieren, implementieren Sie Push-Unit-Tests.
Keine Push-Registrierungsaufforderung
Wenn die Anwendung Sie nicht auffordert, sich für Push-Benachrichtigungen zu registrieren, liegt wahrscheinlich ein Problem mit der Integration der Push-Registrierung 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 Code für die Push-Registrierung ausgeführt wird.
Keine „push-registrierten“ Nutzer:innen im Dashboard sichtbar
- Überprüfen Sie, ob Sie von Ihrer App aufgefordert werden, Push-Benachrichtigungen zuzulassen. Normalerweise erscheint diese Aufforderung beim ersten Öffnen der App, aber sie kann auch so programmiert werden, dass sie an anderen Stellen erscheint. Wenn sie nicht dort erscheint, wo sie sein sollte, liegt das Problem wahrscheinlich bei der Grundkonfiguration der Push-Funktionen Ihrer App.
- Überprüfen Sie, ob die Schritte für die Push-Integration erfolgreich abgeschlossen wurden.
- Vergewissern Sie sich, dass das Bereitstellungsprofil Ihrer App Berechtigungen für Push enthält. Stellen Sie sicher, dass Sie alle verfügbaren Bereitstellungsprofile aus 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, 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 die Push-Funktion in Ihrer App korrekt aktiviert ist.
- Stellen Sie sicher, dass das 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 APNs-Entwicklungs- oder die Produktionsumgebung gesendet werden. Die Verwendung eines Entwicklungszertifikats für eine Produktionsanwendung oder eines Produktionszertifikats für eine Entwicklungsanwendung wird nicht funktionieren.
- Überprüfen Sie, ob unsere Methode
registerPushTokenaufgerufen wird, indem Sie einen Haltepunkt in Ihrem Code setzen. - Stellen Sie sicher, dass Sie sich auf einem Gerät befinden (Push funktioniert nicht auf einem Simulator) und eine gute Netzwerkverbindung haben.
Geräte erhalten keine Push-Benachrichtigungen
Nutzer:innen sind nach dem Senden einer Push-Benachrichtigung nicht mehr „push-registriert“
Dies deutet wahrscheinlich darauf hin, dass das Push-Token der Nutzer:in ungültig war. Dafür kann es mehrere Gründe geben:
Dashboard und App-Zertifikat stimmen nicht überein
Wenn das Push-Zertifikat, das Sie im Dashboard hochgeladen haben, nicht dasselbe ist wie das im Bereitstellungsprofil, mit dem Ihre App erstellt wurde, lehnen die APNs das Token ab. Vergewissern Sie sich, dass Sie das richtige Zertifikat hochgeladen und eine weitere Sitzung in der App abgeschlossen haben, bevor Sie eine weitere Testbenachrichtigung versuchen.
Deinstallationen
Wenn eine Nutzer:in Ihre Anwendung deinstalliert hat, ist ihr Push-Token ungültig und wird beim nächsten Senden entfernt.
Ihr Bereitstellungsprofil neu generieren
Als letzten Ausweg können Sie von vorne beginnen und ein völlig neues Bereitstellungsprofil erstellen, um Konfigurationsfehler zu beheben, die durch die gleichzeitige Arbeit mit mehreren Umgebungen, Profilen und Anwendungen entstehen. Bei der Einrichtung von Push-Benachrichtigungen für iOS-Apps gibt es viele „bewegliche Teile“. Daher ist es mitunter sinnvoll, noch einmal von vorn zu beginnen. Diese Vorgehensweise ist auch hilfreich, um das Problem einzugrenzen, wenn Sie die Fehlerbehebung fortsetzen müssen.
Nutzer:innen sind nach dem Senden einer Push-Benachrichtigung weiterhin „push-registriert“
App befindet sich im Vordergrund
Bei iOS-Versionen, die Push nicht über das Framework UserNotifications integrieren, wird die Nachricht nicht angezeigt, wenn sich die App beim Empfang der Push-Nachricht im Vordergrund befindet. Vor dem Senden von Testnachrichten sollten Sie die App auf Ihren Testgeräten in den Hintergrund versetzen.
Testbenachrichtigung falsch geplant
Überprüfen Sie den Zeitplan, den Sie für Ihre Testnachricht festgelegt haben. Wenn sie auf Zustellung in der lokalen Zeitzone oder intelligentes Timing eingestellt ist, haben Sie die Nachricht möglicherweise noch nicht erhalten (oder die App war im Vordergrund, als sie empfangen wurde).
Nutzer:in ist für die zu testende App nicht „push-registriert“
Überprüfen Sie das Nutzerprofil der Nutzer:in, an die Sie eine Testnachricht senden möchten. Unter dem Tab Engagement sollte eine Liste der „pushbaren Apps“ angezeigt werden. Vergewissern Sie sich, 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, es könnte sich also um ein falsches Positiv handeln.
Das Folgende deutet auf ein Problem mit der Push-Registrierung hin oder darauf, dass das Token der Nutzer:in von den APNs nach dem Push-Vorgang als ungültig an Braze zurückgegeben wurde:

Push-Nachrichten werden nicht gesendet
Zur Fehlerbehebung bei Push-Benachrichtigungen, die nicht gesendet werden, lesen Sie Fehlerbehebung bei Push.
Fehler im Nachrichten-Aktivitätsprotokoll
Nicht registrierte Sendung 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. Im Nachrichten-Aktivitätsprotokoll können Sie das Push-Token einsehen. Es sollte etwa so aussehen wie6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, eine lange Zeichenkette 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. - Vergewissern Sie sich, dass das 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 APNs-Entwicklungs- oder die Produktionsumgebung gesendet werden. Die Verwendung eines Entwicklungszertifikats für eine Produktionsanwendung oder eines Produktionszertifikats für eine Entwicklungsanwendung wird nicht funktionieren.
- Überprüfen Sie, ob das Push-Token, das Sie auf Braze hochgeladen haben, mit dem Bereitstellungsprofil übereinstimmt, das Sie zum Erstellen der App verwendet haben, von der Sie das Push-Token gesendet haben.
Geräte-Token nicht zum Thema
Dieser Fehler zeigt an, dass das Push-Zertifikat Ihrer App und die Bundle-ID nicht übereinstimmen. Überprüfen Sie, ob das Push-Zertifikat, das Sie auf Braze hochgeladen haben, mit dem Bereitstellungsprofil übereinstimmt, das zur Erstellung 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 eine Reihe von Gründen dafür geben, dass diese Antwort zurückgegeben wird, wie beispielsweise:
- Die App hat ein Push-Token empfangen, das für die im Dashboard hochgeladenen Zugangsdaten ungültig war.
- Push wurde für diesen Workspace deaktiviert.
- Die Nutzer:in hat die Push-Funktion abbestellt.
- Die App wurde deinstalliert.
- Apple hat das Push-Token erneuert, wodurch das alte Token ungültig wurde.
- Die App wurde für eine Produktionsumgebung erstellt, aber die auf Braze hochgeladenen Push-Zugangsdaten sind für eine Entwicklungsumgebung eingestellt (oder umgekehrt).
Probleme nach der Push-Zustellung
Um die Push-Verarbeitung Ihrer Anwendung zu verifizieren, implementieren Sie Push-Unit-Tests.
Nicht protokollierte Push-Klicks
- 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 still im Vordergrund empfangen werden (z. B. Standardverhalten von Push im Vordergrund vor dem Framework
UserNotifications). Das bedeutet, dass Links nicht geöffnet werden und Push-Klicks nicht protokolliert werden. Wenn das FrameworkUserNotificationsnoch nicht in Ihrer Anwendung integriert ist, verarbeitet Braze keine Push-Benachrichtigungen, wenn der AnwendungsstatusUIApplicationStateActivelautet. Sie sollten sicherstellen, dass Ihre App die Aufrufe unserer Push-Verarbeitungsmethoden nicht verzögert. Andernfalls kann es sein, dass das iOS SDK Push-Benachrichtigungen als stille Vordergrund-Push-Ereignisse behandelt und sie nicht weitergibt.
Weblinks von Push-Klicks werden nicht geöffnet
Unter iOS 9+ müssen Links ATS-konform sein, damit sie in Webansichten geöffnet werden können. Stellen Sie sicher, dass Ihre Weblinks HTTPS verwenden. Weitere Informationen finden Sie in unserem Artikel zur ATS-Konformität.
Deeplinks von 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. Wenn nicht, beheben Sie das Problem (hierdurch wird oftmals auch die Linkverarbeitung korrigiert).
Wenn Öffnungen protokolliert werden, prüfen Sie, ob es sich um ein Problem mit Deeplinks im Allgemeinen oder nur mit Deeplinks bei der Verarbeitung von Push-Klicks handelt. Um dies herauszufinden, testen Sie per Klick auf eine In-App-Nachricht, ob ein Deeplink funktioniert.
Wenige oder keine direkten Öffnungen
Wenn mindestens eine Nutzer:in Ihre iOS-Push-Benachrichtigung öffnet, aber nur wenige oder keine direkten Öffnungen in Braze protokolliert werden, gibt es möglicherweise ein Problem mit Ihrer SDK-Integration. Denken Sie daran, 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 Textkörper enthalten, um nicht als stille Nachricht zu gelten.
- Überprüfen Sie die folgenden Schritte im Leitfaden zur Push-Integration:
- Push-Registrierung: Bei jedem einzelnen App-Start, vorzugsweise innerhalb von
application:didFinishLaunchingWithOptions:, muss der Code aus Schritt 3 ausgeführt werden. Die Eigenschaft „delegate“ vonUNUserNotificationCenter.current()muss einem Objekt zugewiesen sein, 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.
- Push-Registrierung: Bei jedem einzelnen App-Start, vorzugsweise innerhalb von