Zum Inhalt springen


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 sehen Sie 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:

  1. Sie konfigurieren das Push-Zertifikat und das Bereitstellungsprofil
  2. Geräte registrieren sich bei APNs und stellen Braze Push-Token bereit
  3. Sie starten eine Braze-Push-Campaign
  4. 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 erlaubt 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, nur 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 in das Dashboard hochgeladene Zertifikat mit dem aktuell verwendeten Bereitstellungsprofil übereinstimmt.

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 dieses bestimmte Gerät. Das iOS SDK sendet das Push-Token sofort und asynchron für Apps, die die standardmäßige automatische Flush-Richtlinie verwenden. Sobald ein Push-Token mit einer:einem Nutzer:in verknüpft ist, wird diese:r im Dashboard in ihrem:seinem Nutzerprofil unter dem Tab Engagement als „Push Registered“ angezeigt und ist berechtigt, Push-Benachrichtigungen von Braze Campaigns zu erhalten.

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 in das Dashboard hochgeladene SSL-Push-Zertifikat zur Authentifizierung und Verifizierung, 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 festlegt.

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-Fehler überprüfen

Messaging Observability zeigt, warum ein Push aus einer Campaign oder einem Canvas nicht gesendet wurde, einschließlich Fehler, die von APNs zurückgegeben werden.

Häufige Fehler 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-Übertragungen an neue Nutzer:innen usw.

Beispiel für eine animierte Content-Card.

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 als „Push registriert“ angezeigten Nutzer:innen im Dashboard

  • Überprüfen Sie, ob Ihre App Sie auffordert, Push-Benachrichtigungen zuzulassen. Normalerweise erscheint diese Aufforderung beim ersten Öffnen der App, sie kann aber auch so programmiert werden, dass sie an anderer Stelle erscheint. Wenn sie nicht dort erscheint, wo sie sollte, liegt das Problem wahrscheinlich in der grundlegenden Konfiguration der Push-Funktionen Ihrer App.
    • Stellen Sie sicher, dass 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 herunterladen. Um dies zu bestätigen, führen Sie die folgenden Schritte aus:
      1. Navigieren Sie in Xcode zu Preferences > Accounts (oder verwenden Sie die Tastenkombination Command+,).
      2. Wählen Sie die Apple-ID aus, die Sie für Ihr Entwicklerkonto verwenden, und klicken Sie auf View Details.
      3. 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.
  • Stellen Sie sicher, dass Sie ein echtes Gerät verwenden (Push funktioniert nicht auf einem Simulator) und eine stabile 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 betreffende Person ein ungültiges Push-Token hatte. Dies kann verschiedene Ursachen haben:

Zertifikats-Abweichung zwischen Dashboard und App

Wenn das Push-Zertifikat, das Sie im Dashboard hochgeladen haben, nicht dasselbe ist wie im Bereitstellungsprofil, 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 Versand entfernt.

Bereitstellungsprofil neu erstellen

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 starten. Das 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 sich die App beim Empfang im Vordergrund befindet. Sie sollten die App auf Ihren Testgeräten in den Hintergrund setzen, 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 im Vordergrund, als sie empfangen wurde).

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 „push-fähigen Apps“ vorhanden sein. Ü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. Dies könnte daher ein falsch positives Ergebnis sein.

Das Folgende würde auf ein Problem mit der Push-Registrierung hinweisen oder darauf, dass das Token nach dem Push-Versand von APNs als ungültig an Braze zurückgegeben wurde:

Ein Nutzerprofil, das die Kontakteinstellungen anzeigt. Hier können Sie sehen, für welche Apps Push registriert ist.

Push-Nachrichten werden nicht gesendet

Informationen zur Fehlerbehebung bei Push-Benachrichtigungen, die nicht gesendet werden, finden Sie unter Fehlerbehebung für Push.

Fehler bei Push-Benachrichtigungen

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. Überprüfen Sie den Fehler für die Campaign oder den Canvas unter Messaging Observability. Das Token sollte in etwa so aussehen wie 6e407a9be8d07f0cdeb9e724733a89445f57a89ec890d63867c482a483506fa6, ein langer String aus einer Mischung von Buchstaben und Zahlen. Falls Ihr Push-Token anders aussieht, überprüfen Sie Ihren Code zum Senden der Push-Token an Braze.
  • Stellen Sie sicher, dass Ihr Push-Bereitstellungsprofil der Umgebung entspricht, 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.

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. Für diese Antwort kann es eine Reihe von Gründen geben, 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 verifizieren, implementieren Sie Push-Unit-Tests.

Push-Klicks werden nicht protokolliert

  • Wenn dies 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 stillschweigend im Vordergrund empfangen werden (zum Beispiel 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 App das UserNotifications-Framework noch nicht integriert hat, verarbeitet Braze keine Push-Benachrichtigungen, wenn der App-Status UIApplicationStateActive ist. Sie sollten sicherstellen, dass Ihre App Aufrufe unserer Push-Verarbeitungsmethoden nicht verzögert; andernfalls behandelt das iOS SDK Push-Benachrichtigungen möglicherweise als stille Vordergrund-Push-Ereignisse und verarbeitet sie nicht.

iOS 9+ erfordert, dass Links ATS-konform sind, um in Webviews geöffnet zu werden. Stellen Sie sicher, dass Ihre Weblinks HTTPS verwenden. Weitere Informationen finden Sie in unserem Artikel zur ATS-Konformität.

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 beim Push-Klick. Testen Sie dazu, ob ein Deeplink aus einem In-App-Nachrichten-Klick funktioniert.

Wenige oder keine direkten Öffnungen

Wenn mindestens eine:r 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 Testversendungen 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 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 von UNUserNotificationCenter.current() muss einem Objekt zugewiesen werden, das UNUserNotificationCenterDelegate implementiert und die Methode (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: enthält.
    • Push-Verarbeitung aktivieren: Stellen Sie sicher, dass die Methode (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: implementiert wurde.

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 öffnet, öffnen Sie die Info.plist der Notification Content Extension und gleichen Sie die Schlüssel mit der Push-Story-Einrichtung ab:

  • UNNotificationExtensionCategory = ab_cat_push_story_v2
  • UNNotificationExtensionDefaultContentHidden = YES
  • UNNotificationExtensionInitialContentSizeRatio = 0.65

Wenn UNNotificationExtensionUserInteractionEnabled in dieser plist vorhanden ist, entfernen Sie den Eintrag. Die Objective-C Push-Story-Einrichtung enthält diesen Schlüssel nicht.

New Stuff!