Fehlerbehebung bei Push-Benachrichtigungen
Erfahren Sie, wie Sie Probleme mit Push-Benachrichtigungen für das Braze SDK beheben können.
Fehlersuche
Wenn Sie nach der Einrichtung von Push-Benachrichtigungen Probleme haben, sollten Sie Folgendes beachten:
- Für Web-Push-Benachrichtigungen muss Ihre Website über HTTPS verfügen.
- Nicht alle Browser können Push-Nachrichten empfangen. Stellen Sie sicher, dass
braze.isPushSupported()im Browsertruezurückgibt. - Einige Browser, wie beispielsweise Firefox, zeigen keine Bilder in Push-Benachrichtigungen an. Weitere Informationen zur Browserunterstützung referenzieren Sie in der MDN-Dokumentation zu Benachrichtigungsbildern.
- Wenn ein Nutzer:innen den Push-Zugriff auf eine Website verweigert hat, wird er nicht mehr um Erlaubnis gefragt, es sei denn, er entfernt den Status “verweigert” aus seinen Browsereinstellungen.
Den Braze-Push-Workflow verstehen
Der Firebase Cloud Messaging (FCM)-Dienst ist die Infrastruktur von Google für Push-Benachrichtigungen, die an Android-Anwendungen gesendet werden. Hier ist die vereinfachte Struktur, wie Push-Benachrichtigungen für die Geräte Ihrer Benutzer aktiviert werden und wie Braze Push-Benachrichtigungen an sie senden kann:
---
config:
theme: mc
---
sequenceDiagram
participant Device as User Device
participant App as Android App
participant BrazeSDK as Braze SDK
participant BrazeAPI as Braze Server
participant Firebase as Google Firebase
Note over Device, Firebase: Register Option 1<br/>Register Automatically using `com_braze_firebase_cloud_messaging_registration_enabled` in braze.xml
App ->> Braze: App initializes Braze with the first Braze call<br>This could be automatic session handling
BrazeSDK ->> App: Get push token from Firebase Manager
BrazeSDK ->> BrazeAPI: Send push token to Braze Server
Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
Note over Device, Firebase: Register Option 2<br/>Manual registration.
App ->> BrazeSDK: App sets `Braze.registeredPushToken`
BrazeSDK ->> BrazeAPI: Send push token to Braze Server
Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
Note over Device, Firebase: Push permission
BrazeAPI ->> BrazeSDK: In-App Message containing push prompt
BrazeSDK -> App: In-App Message is displayed
App -> BrazeSDK: User requests permissions
BrazeSDK -> App: Displays the Push Authorization prompt
BrazeSDK -> BrazeAPI: If authorized and `com_braze_optin_when_push_authorized`, Opt-In value is sent.
Note over Device, Firebase: Push Notification Is Sent
BrazeAPI ->> Firebase: Sends push message
Firebase ->> Device: Push message sent
Device ->> App: Android will send the push to the App.<br>This could be blocked to Do Not Disturb, Power Saving Mode, etc.
App ->> BrazeSDK: Message is sent to BrazeFirebaseMessagingService
BrazeSDK ->> Device: SDK will check if the push is from Braze.<br>If so, push data is transformed into a Push Notification and displayed.
Schritt 1: Konfigurieren Ihres Google Cloud API-Schlüssels
Bei der Entwicklung Ihrer App müssen Sie dem Braze Android SDK Ihre Firebase Sender-ID mitteilen. Außerdem müssen Sie dem Braze Dashboard einen API-Schlüssel für Serveranwendungen zur Verfügung stellen. Braze verwendet diesen API-Schlüssel, um Nachrichten an Ihre Geräte zu senden. Außerdem müssen Sie überprüfen, dass der FCM Dienst in der Google-Entwicklerkonsole aktiviert ist.

Ein häufiger Fehler bei diesem Schritt ist die Verwendung des API-Schlüssels des App-Bezeichners anstelle des REST-API-Schlüssels.
Schritt 2: Geräte registrieren sich für FCM und versorgen Braze mit Push-Tokens
Bei typischen Integrationen übernimmt das Braze Android SDK die Registrierung von Geräten für die FCM-Funktionalität. Dies geschieht in der Regel sofort, wenn Sie die App zum ersten Mal öffnen. Nach der Registrierung erhält Braze eine FCM-Registrierungs-ID, die verwendet wird, um Nachrichten speziell an dieses Gerät zu senden. Wir speichern die Registrierungs-ID für diesen Benutzer, und dieser Benutzer wird “push-registriert”, wenn er zuvor kein Push-Token für eine Ihrer Apps hatte.
Schritt 3: Starten Sie eine Braze-Push-Kampagne
Wenn eine Push-Kampagne gestartet wird, stellt Braze Anfragen an FCM, um Ihre Nachricht zu übermitteln. Braze verwendet den im Dashboard kopierten API-Schlüssel, um sich zu authentifizieren und zu überprüfen, ob wir Push-Benachrichtigungen an die angegebenen Push-Tokens senden können.
Schritt 4: Entfernen von ungültigen Token
Wenn FCM uns mitteilt, dass eines der Push-Token, an das wir eine Nachricht senden wollten, ungültig ist, entfernen wir diese Token aus den Benutzerprofilen, mit denen sie verknüpft waren. Wenn Benutzer keine weiteren Push-Token haben, werden sie auf der Seite Segmente nicht mehr als “Push registriert” angezeigt.
Weitere Informationen über FCM finden Sie unter Cloud Messaging.
Verwendung der Push-Fehlerprotokolle
Braze stellt Fehler bei Push-Benachrichtigungen im Nachrichten-Aktivitätsprotokoll bereit. Dieses Fehlerprotokoll enthält eine Reihe von Warnungen, die sehr hilfreich sein können, um festzustellen, warum Ihre Kampagnen nicht wie erwartet funktionieren. Wenn Sie auf eine Fehlermeldung klicken, werden Sie zur entsprechenden Dokumentation weitergeleitet, die Sie bei der Fehlerbehebung unterstützt.

Fehlerszenarien
Push wird nicht gesendet
Ihre Push-Nachrichten werden möglicherweise aus folgenden Gründen nicht gesendet:
- Ihre Anmeldedaten sind in der falschen Google Cloud Platform Projekt-ID (falsche Absender-ID) vorhanden.
- Ihre Anmeldedaten haben den falschen Berechtigungsumfang.
- Sie haben falsche Anmeldedaten in den falschen Braze-Arbeitsbereich hochgeladen (falsche Absender-ID).
Weitere Probleme, die das Senden einer Push-Nachricht verhindern können, werden im Benutzerhandbuch referenziert: Fehlerbehebung bei Push-Benachrichtigungen.
Keine Anzeige von “push-registrierten” Nutzern im Dashboard (vor dem Senden von Nachrichten)
Stellen Sie sicher, dass Ihre App korrekt konfiguriert ist, um Push-Benachrichtigungen zuzulassen. Zu den häufig zu überprüfenden Fehlerpunkten gehören:
Falsche Sender-ID
Vergewissern Sie sich, dass in der Datei braze.xml die korrekte FCM-Sender-ID angegeben ist. Eine falsche Sender-ID führt zu Fehlern des Typs MismatchSenderID, die im Nachrichten-Aktivitätsprotokoll des Dashboards gemeldet werden.
Keine Braze-Registrierung
Da die FCM-Registrierung außerhalb von Braze erfolgt, kann eine fehlgeschlagene Registrierung nur an zwei Stellen auftreten:
- Während der Registrierung bei FCM
- Bei der Übergabe des von FCM erzeugten Push-Tokens an Braze
Wir empfehlen, einen Haltepunkt zu setzen oder anhand eines Protokoll zu bestätigen, dass das FCM-generierte Push-Token an Braze gesendet wird. Wenn das Token nicht korrekt oder gar nicht generiert wird, empfehlen wir Ihnen, die FCM-Dokumentation zurate zu ziehen.
Google Play Services nicht vorhanden
Um FCM-Push nutzen zu können, müssen die Google Play-Dienste auf Gerät installiert sein. Wenn die Google Play-Dienste nicht auf einem Gerät installiert sind, erfolgt keine Push-Registrierung.
Hinweis: Google Play Services wird auf Android-Emulatoren ohne installierte Google APIs nicht installiert.
Gerät nicht mit dem Internet verbunden
Vergewissern Sie sich, dass Ihr Gerät über eine gute Internetverbindung verfügt und den Netzwerkverkehr nicht über einen Proxy leitet.
Tippen Sie auf die Push-Benachrichtigung, um die App nicht zu öffnen
Prüfen Sie, ob com_braze_handle_push_deep_links_automatically auf true oder false eingestellt ist. Damit Braze die App und alle Deeplinks automatisch öffnen kann, wenn auf eine Push-Benachrichtigung getippt wird, setzen Sie com_braze_handle_push_deep_links_automatically in der Datei braze.xml auf true.
Wenn com_braze_handle_push_deep_links_automatically auf false (Standardeinstellung) festgelegt ist, müssen Sie einen Braze Push-Callback verwenden, um auf empfangene und geöffnete Push-Nachrichten zu achten und diese zu verarbeiten.
Nicht zustellbare Push-Benachrichtigungen
Wenn eine Push-Benachrichtigung nicht zugestellt wurde, überprüfen Sie in der Entwicklungskonsole, ob ein Bounce-Fehler vorliegt. Im Folgenden finden Sie Beschreibungen häufiger Fehler, die in der Entwicklungskonsole protokolliert werden können:
Fehler: MismatchSenderID
MismatchSenderID weist auf eine fehlgeschlagene Authentifizierung hin. Vergewissern Sie sich, dass Ihre Firebase Sender-ID und Ihr FCM API-Schlüssel korrekt sind.
Fehler: InvalidRegistration
InvalidRegistration kann durch ein fehlerhaftes Push-Token verursacht werden.
- Stellen Sie sicher, dass Sie ein gültiges Push-Token von Firebase Cloud Messaging an Braze übergeben.
Fehler: NotRegistered
-
NotRegisteredtritt normalerweise auf, wenn eine App von einem Gerät gelöscht wurde. Braze verwendetNotRegisteredintern, um darauf hinzuweisen, dass eine App von einem Gerät deinstalliert wurde. -
NotRegisteredkann auch auftreten, wenn es mehrere Registrierungen gibt und das erste Token durch eine zweite Registrierung ungültig gemacht wird.
Push-Benachrichtigungen, die gesendet, aber nicht auf den Geräten der Benutzer angezeigt werden
Es gibt einige Gründe, warum dies der Fall sein könnte:
Anwendung wurde zwangsbeendet
Wenn Sie Ihre Anwendung über die Systemeinstellungen zwangsbeenden, werden Ihre Push-Benachrichtigungen nicht gesendet. Wenn Sie die App erneut starten, wird Ihr Gerät wieder für den Empfang von Push-Benachrichtigungen aktiviert.
BrazeFirebaseMessagingService nicht registriert
Der BrazeFirebaseMessagingService muss ordnungsgemäß in AndroidManifest.xml registriert sein, damit Push-Benachrichtigungen angezeigt werden können:
1
2
3
4
5
6
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Die Firewall blockiert Push
Beim Senden von Push-Nachrichten per WLAN werden die Ports, die FCM für den Empfang von Nachrichten benötigt, möglicherweise durch Ihre Firewall blockiert. Stellen Sie sicher, dass die Ports 5228, 5229 und 5230 offen sind. Da FCM seine IPs nicht angibt, müssen Sie außerdem Ihrer Firewall erlauben, ausgehende Verbindungen zu allen IP-Adressen zu akzeptieren, die in den IP-Blöcken enthalten sind, die in Googles ASN von 15169 aufgeführt sind.
Angepasste Benachrichtigungs-Factory gibt Null zurück
Wenn Sie eine angepasste Benachrichtigungs-Factory implementiert haben, stellen Sie sicher, dass diese nicht null zurückgibt. Dies führt dazu, dass Benachrichtigungen nicht angezeigt werden.
“Push-registrierte” Benutzer werden nach dem Senden von Nachrichten nicht mehr aktiviert
Es gibt einige Gründe, warum dies der Fall sein könnte:
Anwendung wurde deinstalliert
Die Benutzer haben die Anwendung deinstalliert. Dadurch wird ihr FCM-Push-Token ungültig.
Ungültiger Firebase Cloud Messaging-Serverschlüssel
Der im Braze Dashboard angegebene Firebase Cloud Messaging-Serverschlüssel ist ungültig. Die angegebene Absender-ID sollte mit derjenigen übereinstimmen, auf die in der Datei braze.xml Ihrer App verwiesen wird. Den Serverschlüssel und die Absender-ID finden Sie hier in Ihrer Firebase-Konsole:

Push-Klicks nicht protokolliert
Braze protokolliert Push-Klicks automatisch, so dass dieses Szenario vergleichsweise selten vorkommen sollte.
Wenn Push-Klicks nicht protokolliert werden, ist es möglich, dass die Push-Klickdaten noch nicht auf unsere Server übertragen wurden. Braze drosselt die Häufigkeit der Flushes je nach Stärke der Netzwerkverbindung. Bei einer guten Netzwerkverbindung sollten Push-Klickdaten in der Regel innerhalb von einer Minute auf dem Server eintreffen.
Nicht funktionierende Deeplinks
Deeplink-Konfiguration überprüfen
Deeplinks können mit ADB getestet werden. Wir empfehlen, Ihren Deeplink mit dem folgenden Befehl zu testen:
adb shell am start -W -a android.intent.action.VIEW -d "THE_DEEP_LINK" THE_PACKAGE_NAME
Wenn der Deeplink nicht funktioniert, ist er möglicherweise falsch konfiguriert. Ein falsch konfigurierter Deeplink funktioniert nicht, wenn er über Braze Push gesendet wird.
Überprüfen Sie die benutzerdefinierte Verarbeitungslogik
Wenn der Deeplink mit ADB einwandfrei funktioniert, aber über Braze Push nicht funktioniert, prüfen Sie, ob eine angepasste Verarbeitung von Push-Öffnungen implementiert wurde. Wenn ja, prüfen Sie, ob der eingehende Deeplink vom angepassten Code korrekt verarbeitet wird.
Backstack-Verhalten deaktivieren
Wenn der Deeplink mit ADB einwandfrei funktioniert, aber über Braze Push nicht funktioniert, versuchen Sie, den Back-Stack zu deaktivieren. Aktualisieren Sie dazu die Datei braze.xml wie folgt:
1
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">false</bool>
Den Arbeitsablauf von Braze/APNs verstehen
Der Apple Push Notification Service (APNs) ist die Infrastruktur für das Senden von Push-Benachrichtigungen an Anwendungen, die auf den Plattformen von Apple laufen. 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 Swift 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 macOS 13 können Sie auf bestimmten Geräten Push-Benachrichtigungen mithilfe eines Simulators für iOS 16 testen, der unter Xcode 14 läuft. Weitere Einzelheiten finden Sie in den Release Notes zu Xcode 14.
Überlegungen zur Push-Token-Generierung
- Wenn Nutzer:innen Ihre App auf einem anderen Gerät installieren, wird ein weiteres Token erstellt und auf die gleiche Weise erfasst.
- Wenn Nutzer:innen Ihre App neu installieren, wird ein neues Token generiert und an Braze übermittelt. Das ursprüngliche Token kann jedoch weiterhin von APNs und Braze als gültig protokolliert werden.
- Wenn Nutzer:innen Ihre App deinstallieren, wird Braze nicht sofort darüber informiert, und das Token wird weiterhin als gültig angezeigt, bis es von APNs zurückgezogen wird.
- Zu einem bestimmten Zeitpunkt werden APNs alte Token aus dem Verkehr ziehen. Braze hat diesbezüglich keine Kontrolle oder Einblick.
3. Schritt: Starten einer Braze-Push-Campaign
Beim Starten einer Push-Campaign stellt Braze Anfragen an APNs, um Ihre Nachricht zuzustellen. Insbesondere werden die Anfragen für jedes derzeit gültige Push-Token an APNs weitergeleitet, es sei denn, die Option An das neueste Gerät einer Nutzer:in senden ist ausgewählt. Nachdem Braze eine erfolgreiche Antwort von APNs erhalten hat, protokollieren wir eine erfolgreiche Zustellung im Nutzerprofil, auch wenn die Nutzer:in die eigentliche Nachricht aus folgenden Gründen möglicherweise nicht erhalten hat:
- Ihr Gerät ist ausgeschaltet.
- Das Gerät ist nicht mit dem Internet verbunden (WLAN oder Mobilfunk).
- Die App wurde kürzlich deinstalliert.
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.

Es ist üblich, dass APNs zunächst einen erfolgreichen Status zurückgeben, selbst wenn ein Token deregistriert wird, da APNs Ereignisse zur Ungültigkeitserklärung von Token nicht sofort melden. APNs verzögert absichtlich die Rückgabe eines 410-Status für ungültige Token nach einem zufälligen Zeitplan, um die Privatsphäre der Nutzer:innen zu schützen und das Tracking von App-Deinstallationen zu verhindern. Sie können weiterhin sicher Benachrichtigungen an ein nicht registriertes Token senden, bis APNs einen 410-Status zurückgibt.
Verwendung der Push-Fehlerprotokolle
Das Nachrichten-Aktivitätsprotokoll bietet Ihnen die Möglichkeit, alle Nachrichten (insbesondere Fehlermeldungen) im Zusammenhang mit Ihren Campaigns und Sendungen zu sehen, einschließlich Push-Benachrichtigungsfehler. 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.

Fehler im Nachrichten-Aktivitätsprotokoll
Nicht registrierte Sendung an Push-Token empfangen
- Stellen Sie sicher, dass das Push-Token, das über die Methode
AppDelegate.braze?.notifications.register(deviceToken:)an Braze gesendet wird, gültig ist. Im Nachrichten-Aktivitätsprotokoll können Sie das Push-Token sehen. 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 für das Thema
APNs gibt DeviceTokenNotForTopic (HTTP-Status 400) zurück, wenn das Push-Token nicht mit dem Thema (Bundle-ID) übereinstimmt, das für Ihre Zugangsdaten konfiguriert ist. Braze kann dies im Nachrichten-Aktivitätsprotokoll oder in den Push-Zustellungsprotokollen als DeviceTokenNotForTopic anzeigen.
So beheben Sie die Nichtübereinstimmung:
- Bestätigen Sie, dass die Bundle-ID der App mit der App Bundle ID in Braze übereinstimmt (Einstellungen > App Settings > Einstellungen für Push-Benachrichtigungen).
- Überprüfen Sie, ob das Bereitstellungsprofil, das zum Erstellen der App verwendet wurde, die Push-Funktion für diese Bundle-ID enthält.
- Bestätigen Sie, dass die auf Braze hochgeladenen Push-Zugangsdaten mit der Umgebung der App übereinstimmen (Entwicklung oder Produktion).
- Überprüfen Sie bei
.p8-Schlüsseln, ob Team ID und Key ID in Braze mit Ihrem Apple-Entwicklerkonto übereinstimmen. - Laden Sie einen gültigen
.p8-Schlüssel oder ein.p12-Zertifikat erneut hoch, wenn die Zugangsdaten rotiert oder widerrufen wurden.
Bevorzugen Sie nach Möglichkeit .p8-Authentifizierungsschlüssel. Informationen zu Zugangsdatentypen und Dashboard-Statusanzeigen finden Sie unter Zu einem .p8-Authentifizierungsschlüssel migrieren.
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, darunter:
- Die App hat ein Push-Token empfangen, das für die auf das Dashboard hochgeladenen Zugangsdaten ungültig war.
- Push wurde für diesen Workspace deaktiviert.
- Die Nutzer:in hat Push 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 bei der Push-Registrierung
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 angezeigt (vor dem Senden von Nachrichten)
Stellen Sie sicher, dass Ihre App richtig konfiguriert ist, um Push-Benachrichtigungen zuzulassen. Zu den häufig zu überprüfenden Fehlerpunkten gehören:
- Überprüfen Sie, ob Sie von Ihrer App aufgefordert werden, Push-Benachrichtigungen zuzulassen. Normalerweise erscheint diese Aufforderung beim ersten Öffnen der App, sie kann aber 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 ein Gerät zum Testen verwenden (Push funktioniert nicht auf einem Simulator) und eine gute Netzwerkverbindung haben.
Push-Benachrichtigungen gesendet, aber nicht auf den Geräten der Nutzer:innen angezeigt
„Push-registrierte“ Nutzer:innen werden nach dem Senden von Nachrichten nicht mehr aktiviert
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.
Anwendung wurde deinstalliert
Wenn eine Nutzer:in Ihre Anwendung deinstalliert hat, ist ihr Push-Token ungültig und wird beim nächsten Senden entfernt.
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 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.
Nachrichten werden nicht an „push-registrierte“ Nutzer:innen zugestellt
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:

Nicht protokollierte Push-Klicks
- Stellen Sie sicher, dass Sie die Schritte zur Push-Integration durchgeführt haben.
- Braze verarbeitet keine Push-Benachrichtigungen, die still im Vordergrund empfangen werden (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. Stellen Sie sicher, dass Ihre App die Aufrufe von Push-Verarbeitungsmethoden nicht verzögert. Andernfalls kann es sein, dass das Swift SDK Push-Benachrichtigungen als stille Push-Ereignisse im Vordergrund behandelt und sie nicht verarbeitet.
Nicht funktionierende Deeplinks
Umfassende Informationen zur Fehlerbehebung für alle Kanäle – einschließlich Universal Links, angepasster Schemata, E-Mail und Drittanbieter wie Branch – finden Sie unter Fehlerbehebung bei Deeplinking.
Weblinks von Push-Klicks werden nicht geöffnet
Links in Push-Benachrichtigungen müssen ATS-konform sein, damit sie in Webansichten geöffnet werden können. Stellen Sie sicher, dass Ihre Weblinks HTTPS verwenden. Weitere Informationen finden Sie unter 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. Falls nicht, beheben Sie dieses Problem (da die Behebung häufig auch die Link-Verarbeitung 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.
Den Braze-Push-Workflow verstehen
Der Firebase Cloud Messaging (FCM)-Dienst ist die Infrastruktur von Google für Push-Benachrichtigungen, die an Android-Anwendungen gesendet werden. Hier ist die vereinfachte Struktur, wie Push-Benachrichtigungen für die Geräte Ihrer Benutzer aktiviert werden und wie Braze Push-Benachrichtigungen an sie senden kann:
---
config:
theme: mc
---
sequenceDiagram
participant Device as User Device
participant App as Android App
participant BrazeSDK as Braze SDK
participant BrazeAPI as Braze Server
participant Firebase as Google Firebase
Note over Device, Firebase: Register Option 1<br/>Register Automatically using `com_braze_firebase_cloud_messaging_registration_enabled` in braze.xml
App ->> Braze: App initializes Braze with the first Braze call<br>This could be automatic session handling
BrazeSDK ->> App: Get push token from Firebase Manager
BrazeSDK ->> BrazeAPI: Send push token to Braze Server
Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
Note over Device, Firebase: Register Option 2<br/>Manual registration.
App ->> BrazeSDK: App sets `Braze.registeredPushToken`
BrazeSDK ->> BrazeAPI: Send push token to Braze Server
Note right of BrazeAPI: Braze will remove push token from any<br>other user who may have previously<br> been logged in on the same device.
Note over Device, Firebase: Push permission
BrazeAPI ->> BrazeSDK: In-App Message containing push prompt
BrazeSDK -> App: In-App Message is displayed
App -> BrazeSDK: User requests permissions
BrazeSDK -> App: Displays the Push Authorization prompt
BrazeSDK -> BrazeAPI: If authorized and `com_braze_optin_when_push_authorized`, Opt-In value is sent.
Note over Device, Firebase: Push Notification Is Sent
BrazeAPI ->> Firebase: Sends push message
Firebase ->> Device: Push message sent
Device ->> App: Android will send the push to the App.<br>This could be blocked to Do Not Disturb, Power Saving Mode, etc.
App ->> BrazeSDK: Message is sent to BrazeFirebaseMessagingService
BrazeSDK ->> Device: SDK will check if the push is from Braze.<br>If so, push data is transformed into a Push Notification and displayed.
Schritt 1: Konfigurieren Ihres Google Cloud API-Schlüssels
Bei der Entwicklung Ihrer App müssen Sie dem Braze Android SDK Ihre Firebase Sender-ID mitteilen. Außerdem müssen Sie dem Braze Dashboard einen API-Schlüssel für Serveranwendungen zur Verfügung stellen. Braze verwendet diesen API-Schlüssel, um Nachrichten an Ihre Geräte zu senden. Außerdem müssen Sie überprüfen, dass der FCM Dienst in der Google-Entwicklerkonsole aktiviert ist.

Ein häufiger Fehler bei diesem Schritt ist die Verwendung des API-Schlüssels des App-Bezeichners anstelle des REST-API-Schlüssels.
Schritt 2: Geräte registrieren sich für FCM und versorgen Braze mit Push-Tokens
Bei typischen Integrationen übernimmt das Braze Android SDK die Registrierung von Geräten für die FCM-Funktionalität. Dies geschieht in der Regel sofort, wenn Sie die App zum ersten Mal öffnen. Nach der Registrierung erhält Braze eine FCM-Registrierungs-ID, die verwendet wird, um Nachrichten speziell an dieses Gerät zu senden. Wir speichern die Registrierungs-ID für diesen Benutzer, und dieser Benutzer wird “push-registriert”, wenn er zuvor kein Push-Token für eine Ihrer Apps hatte.
Schritt 3: Starten Sie eine Braze-Push-Kampagne
Wenn eine Push-Kampagne gestartet wird, stellt Braze Anfragen an FCM, um Ihre Nachricht zu übermitteln. Braze verwendet den im Dashboard kopierten API-Schlüssel, um sich zu authentifizieren und zu überprüfen, ob wir Push-Benachrichtigungen an die angegebenen Push-Tokens senden können.
Schritt 4: Entfernen von ungültigen Token
Wenn FCM uns mitteilt, dass eines der Push-Token, an das wir eine Nachricht senden wollten, ungültig ist, entfernen wir diese Token aus den Benutzerprofilen, mit denen sie verknüpft waren. Wenn Benutzer keine weiteren Push-Token haben, werden sie auf der Seite Segmente nicht mehr als “Push registriert” angezeigt.
Weitere Informationen über FCM finden Sie unter Cloud Messaging.
Verwendung der Push-Fehlerprotokolle
Braze stellt Fehler bei Push-Benachrichtigungen im Nachrichten-Aktivitätsprotokoll bereit. Dieses Fehlerprotokoll enthält eine Reihe von Warnungen, die sehr hilfreich sein können, um festzustellen, warum Ihre Kampagnen nicht wie erwartet funktionieren. Wenn Sie auf eine Fehlermeldung klicken, werden Sie zur entsprechenden Dokumentation weitergeleitet, die Sie bei der Fehlerbehebung unterstützt.

Fehlerszenarien
Push wird nicht gesendet
Ihre Push-Nachrichten werden möglicherweise aus folgenden Gründen nicht gesendet:
- Ihre Anmeldedaten sind in der falschen Google Cloud Platform Projekt-ID (falsche Absender-ID) vorhanden.
- Ihre Anmeldedaten haben den falschen Berechtigungsumfang.
- Sie haben falsche Anmeldedaten in den falschen Braze-Arbeitsbereich hochgeladen (falsche Absender-ID).
Weitere Probleme, die das Senden einer Push-Nachricht verhindern können, werden im Benutzerhandbuch referenziert: Fehlerbehebung bei Push-Benachrichtigungen.
Keine Anzeige von “push-registrierten” Nutzern im Dashboard (vor dem Senden von Nachrichten)
Stellen Sie sicher, dass Ihre App korrekt konfiguriert ist, um Push-Benachrichtigungen zuzulassen. Zu den häufig zu überprüfenden Fehlerpunkten gehören:
Falsche Sender-ID
Vergewissern Sie sich, dass in der Datei braze.xml die korrekte FCM-Sender-ID angegeben ist. Eine falsche Sender-ID führt zu Fehlern des Typs MismatchSenderID, die im Nachrichten-Aktivitätsprotokoll des Dashboards gemeldet werden.
Keine Braze-Registrierung
Da die FCM-Registrierung außerhalb von Braze erfolgt, kann eine fehlgeschlagene Registrierung nur an zwei Stellen auftreten:
- Während der Registrierung bei FCM
- Bei der Übergabe des von FCM erzeugten Push-Tokens an Braze
Wir empfehlen, einen Haltepunkt zu setzen oder anhand eines Protokoll zu bestätigen, dass das FCM-generierte Push-Token an Braze gesendet wird. Wenn das Token nicht korrekt oder gar nicht generiert wird, empfehlen wir Ihnen, die FCM-Dokumentation zurate zu ziehen.
Google Play Services nicht vorhanden
Um FCM-Push nutzen zu können, müssen die Google Play-Dienste auf Gerät installiert sein. Wenn die Google Play-Dienste nicht auf einem Gerät installiert sind, erfolgt keine Push-Registrierung.
Hinweis: Google Play Services wird auf Android-Emulatoren ohne installierte Google APIs nicht installiert.
Gerät nicht mit dem Internet verbunden
Vergewissern Sie sich, dass Ihr Gerät über eine gute Internetverbindung verfügt und den Netzwerkverkehr nicht über einen Proxy leitet.
Tippen Sie auf die Push-Benachrichtigung, um die App nicht zu öffnen
Prüfen Sie, ob com_braze_handle_push_deep_links_automatically auf true oder false eingestellt ist. Damit Braze die App und alle Deeplinks automatisch öffnen kann, wenn auf eine Push-Benachrichtigung getippt wird, setzen Sie com_braze_handle_push_deep_links_automatically in der Datei braze.xml auf true.
Wenn com_braze_handle_push_deep_links_automatically auf false (Standardeinstellung) festgelegt ist, müssen Sie einen Braze Push-Callback verwenden, um auf empfangene und geöffnete Push-Nachrichten zu achten und diese zu verarbeiten.
Nicht zustellbare Push-Benachrichtigungen
Wenn eine Push-Benachrichtigung nicht zugestellt wurde, überprüfen Sie in der Entwicklungskonsole, ob ein Bounce-Fehler vorliegt. Im Folgenden finden Sie Beschreibungen häufiger Fehler, die in der Entwicklungskonsole protokolliert werden können:
Fehler: MismatchSenderID
MismatchSenderID weist auf eine fehlgeschlagene Authentifizierung hin. Vergewissern Sie sich, dass Ihre Firebase Sender-ID und Ihr FCM API-Schlüssel korrekt sind.
Fehler: InvalidRegistration
InvalidRegistration kann durch ein fehlerhaftes Push-Token verursacht werden.
- Stellen Sie sicher, dass Sie ein gültiges Push-Token von Firebase Cloud Messaging an Braze übergeben.
Fehler: NotRegistered
-
NotRegisteredtritt normalerweise auf, wenn eine App von einem Gerät gelöscht wurde. Braze verwendetNotRegisteredintern, um darauf hinzuweisen, dass eine App von einem Gerät deinstalliert wurde. -
NotRegisteredkann auch auftreten, wenn es mehrere Registrierungen gibt und das erste Token durch eine zweite Registrierung ungültig gemacht wird.
Push-Benachrichtigungen, die gesendet, aber nicht auf den Geräten der Benutzer angezeigt werden
Es gibt einige Gründe, warum dies der Fall sein könnte:
Anwendung wurde zwangsbeendet
Wenn Sie Ihre Anwendung über die Systemeinstellungen zwangsbeenden, werden Ihre Push-Benachrichtigungen nicht gesendet. Wenn Sie die App erneut starten, wird Ihr Gerät wieder für den Empfang von Push-Benachrichtigungen aktiviert.
BrazeFirebaseMessagingService nicht registriert
Der BrazeFirebaseMessagingService muss ordnungsgemäß in AndroidManifest.xml registriert sein, damit Push-Benachrichtigungen angezeigt werden können:
1
2
3
4
5
6
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Die Firewall blockiert Push
Beim Senden von Push-Nachrichten per WLAN werden die Ports, die FCM für den Empfang von Nachrichten benötigt, möglicherweise durch Ihre Firewall blockiert. Stellen Sie sicher, dass die Ports 5228, 5229 und 5230 offen sind. Da FCM seine IPs nicht angibt, müssen Sie außerdem Ihrer Firewall erlauben, ausgehende Verbindungen zu allen IP-Adressen zu akzeptieren, die in den IP-Blöcken enthalten sind, die in Googles ASN von 15169 aufgeführt sind.
Angepasste Benachrichtigungs-Factory gibt Null zurück
Wenn Sie eine angepasste Benachrichtigungs-Factory implementiert haben, stellen Sie sicher, dass diese nicht null zurückgibt. Dies führt dazu, dass Benachrichtigungen nicht angezeigt werden.
“Push-registrierte” Benutzer werden nach dem Senden von Nachrichten nicht mehr aktiviert
Es gibt einige Gründe, warum dies der Fall sein könnte:
Anwendung wurde deinstalliert
Die Benutzer haben die Anwendung deinstalliert. Dadurch wird ihr FCM-Push-Token ungültig.
Ungültiger Firebase Cloud Messaging-Serverschlüssel
Der im Braze Dashboard angegebene Firebase Cloud Messaging-Serverschlüssel ist ungültig. Die angegebene Absender-ID sollte mit derjenigen übereinstimmen, auf die in der Datei braze.xml Ihrer App verwiesen wird. Den Serverschlüssel und die Absender-ID finden Sie hier in Ihrer Firebase-Konsole:

Push-Klicks nicht protokolliert
Braze protokolliert Push-Klicks automatisch, so dass dieses Szenario vergleichsweise selten vorkommen sollte.
Wenn Push-Klicks nicht protokolliert werden, ist es möglich, dass die Push-Klickdaten noch nicht auf unsere Server übertragen wurden. Braze drosselt die Häufigkeit der Flushes je nach Stärke der Netzwerkverbindung. Bei einer guten Netzwerkverbindung sollten Push-Klickdaten in der Regel innerhalb von einer Minute auf dem Server eintreffen.
Nicht funktionierende Deeplinks
Deeplink-Konfiguration überprüfen
Deeplinks können mit ADB getestet werden. Wir empfehlen, Ihren Deeplink mit dem folgenden Befehl zu testen:
adb shell am start -W -a android.intent.action.VIEW -d "THE_DEEP_LINK" THE_PACKAGE_NAME
Wenn der Deeplink nicht funktioniert, ist er möglicherweise falsch konfiguriert. Ein falsch konfigurierter Deeplink funktioniert nicht, wenn er über Braze Push gesendet wird.
Überprüfen Sie die benutzerdefinierte Verarbeitungslogik
Wenn der Deeplink mit ADB einwandfrei funktioniert, aber über Braze Push nicht funktioniert, prüfen Sie, ob eine angepasste Verarbeitung von Push-Öffnungen implementiert wurde. Wenn ja, prüfen Sie, ob der eingehende Deeplink vom angepassten Code korrekt verarbeitet wird.
Backstack-Verhalten deaktivieren
Wenn der Deeplink mit ADB einwandfrei funktioniert, aber über Braze Push nicht funktioniert, versuchen Sie, den Back-Stack zu deaktivieren. Aktualisieren Sie dazu die Datei braze.xml wie folgt:
1
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">false</bool>
Fehlersuche
Eine Push-Benachrichtigung wird nicht angezeigt, nachdem die App über den Task Switcher geschlossen wurde
Sollten Sie feststellen, dass Push-Benachrichtigungen nicht mehr angezeigt werden, nachdem die App über den Task-Umschalter geschlossen wurde, befindet sich Ihre App wahrscheinlich im Debug-Modus. .NET MAUI fügt im Debug-Modus ein Gerüst hinzu, das verhindert, dass Apps Push-Benachrichtigungen empfangen, nachdem ihr Prozess beendet wurde. Wenn Sie die App im Release-Modus ausführen, sollten Sie die Push-Nachricht auch sehen, wenn die App über den Task Switcher geschlossen wurde.
Angepasste Benachrichtigungs-Factory ist nicht korrekt eingestellt
Die angepasste Benachrichtigungs-Factory (und alle Delegaten) müssen Java.Lang.Object erweitern, damit sie über die Grenzen von C# und Java hinweg korrekt funktionieren. Weitere Informationen finden Sie unter Xamarin zur Implementierung von Java-Schnittstellen.
Zeilenumbrüche in Push-Benachrichtigungen
Beim Verfassen von Push-Benachrichtigungen mit Liquid-Tags werden Zeilenumbrüche neben Liquid-Tags automatisch entfernt, bevor die Nachricht gesendet wird. Im Push-Benachrichtigungs-Composer werden diese Zeilenumbrüche wieder eingefügt, damit Ihre Nachricht beim Bearbeiten lesbar bleibt. Wenn Sie beim Speichern Ihrer Nachricht Zeilenumbrüche um Liquid-Tags herum bemerken, ist dies das erwartete Verhalten.