Push-Benachrichtigungen
Push-Benachrichtigungen ermöglichen es Ihnen, von Ihrer App aus Benachrichtigungen über wichtige Ereignisse zu versenden. Sie können eine Push-Benachrichtigung senden, wenn Sie neue Sofortnachrichten zustellen möchten, aktuelle Eilmeldungen versenden oder die neueste Folge der Lieblingssendung Ihrer Nutzer:innen zum Herunterladen für die Offline-Nutzung bereitsteht. Sie sind auch effizienter als Hintergrundabrufe, da Ihre Anwendung nur bei Bedarf gestartet wird.

Wenn Redirect to web URL mit Open web URL inside app nicht ausgewählt ist, der Link aber trotzdem in der App geöffnet wird, verarbeitet die App möglicherweise die URL selbst (z. B. über Universal Links unter iOS oder App Links unter Android). Um den Link stattdessen im Browser zu öffnen, stellen Sie sicher, dass Ihre App die URL an den Systembrowser delegiert, wenn Nutzer:innen auf die Benachrichtigung tippen, oder passen Sie die URL-Verarbeitung Ihrer App so an, dass die Klickaktion mit der Einstellung im Braze-Dashboard übereinstimmt. Informationen zur Konfiguration von Klickaktionen und URL-Verarbeitung finden Sie in der Push-Dokumentation Ihrer Plattform.

Diese Anleitung verwendet Codebeispiele aus dem Braze Web SDK 4.0.0+. Um ein Upgrade auf die neueste Web SDK-Version durchzuführen, siehe SDK Upgrade Guide.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Internet Braze SDK integrieren.
Push-Protokolle
Web-Push-Benachrichtigungen werden mithilfe des W3C-Push-Standards implementiert, den die meisten gängigen Browser unterstützen. Weitere Informationen über die spezifischen Push-Protokollstandards und die Browserunterstützung finden Sie in den Ressourcen von Apple , Mozilla und Microsoft.
Push-Benachrichtigungen einrichten
Schritt 1: Konfigurieren Sie Ihr Service-Teammitglied
Fügen Sie in der Datei service-worker.js Ihres Projekts das folgende Snippet hinzu und setzen Sie die manageServiceWorkerExternally Initialisierungsoption auf true, wenn Sie das Internet SDK initialisieren.

Ihr Server muss eine Content-Type: application/javascript zurückgeben, wenn er Ihre Service-Teammitglied-Datei bedient. Wenn die Datei Ihres Service-Teammitglieds nicht service-worker.js heißt, müssen Sie außerdem die Initialisierungsoption serviceWorkerLocation verwenden.
Schritt 2: Registrieren Sie den Browser
Um sofort die Push-Berechtigungen eines Nutzers:innen anzufordern, damit sein Browser Push-Benachrichtigungen empfangen kann, rufen Sie braze.requestPushPermission() auf. Um zunächst zu testen, ob Push in ihrem Browser unterstützt wird, rufen Sie braze.isPushSupported() auf.
Sie können dem Nutzer:innen auch eine Soft-Push-Eingabeaufforderung senden, bevor Sie die Push-Erlaubnis anfordern, um Ihre eigene Push-bezogene UI anzuzeigen.

Unter macOS müssen sowohl Google Chrome als auch Google Chrome Helper (Alerts) vom Endnutzer unter Systemeinstellungen > Benachrichtigungen aktiviert werden, bevor Push-Benachrichtigungen angezeigt werden können - auch wenn die Berechtigungen erteilt wurden.
Schritt 3: Deaktivieren Sie skipWaiting (optional)
Die Datei des Service-Teammitglieds von Braze ruft bei der Installation automatisch skipWaiting auf. Wenn Sie diese Funktion deaktivieren möchten, fügen Sie nach dem Import von Braze den folgenden Code in Ihre Service-Teammitglied-Datei ein:
Abmelden eines Nutzer:in
Um einen Nutzer:innen abzumelden, rufen Sie braze.unregisterPush() auf.

Aktuelle Versionen von Safari und Firefox erfordern, dass Sie diese Methode von einem kurzlebigen Event Handler aus aufrufen (z.B. von einem Button-Klick Handler oder einer Soft Push Eingabeaufforderung). Dies steht im Einklang mit den Best Practices für Chrome-Nutzer zur Push-Registrierung.
Alternative Domains
Für die Integration von Web-Push muss Ihre Domain sicher sein, was im Allgemeinen bedeutet: https, localhost und andere Ausnahmen, die im W3C-Push-Standard definiert sind. Sie müssen auch in der Lage sein, ein Service-Teammitglied im Stammverzeichnis Ihrer Domain zu registrieren oder zumindest die HTTP-Header für diese Datei zu kontrollieren. Dieser Artikel beschreibt, wie Sie Braze Web-Push in eine andere Domain integrieren.
Anwendungsfälle
Wenn Sie nicht alle Kriterien des W3C-Push-Standards erfüllen können, können Sie stattdessen diese Methode verwenden, um Ihrer Website einen Push-Dialog hinzuzufügen. Dies kann hilfreich sein, wenn Sie Ihren Nutzer:innen das Opt-in von einer Website http oder einem Popup-Fenster einer Browsererweiterung ermöglichen möchten, das die Anzeige Ihrer Push-Anfrage verhindert.
Überlegungen
Denken Sie daran, dass sich die Browser, wie viele andere Lösungen im Internet, ständig weiterentwickeln und dass diese Methode in Zukunft möglicherweise nicht mehr praktikabel ist. Bevor Sie fortfahren, vergewissern Sie sich, dass:
- Sie besitzen eine eigene sichere Domain (
https://) und die Berechtigung, ein Service-Teammitglied in dieser Domain zu registrieren. - Die Nutzer:innen sind auf Ihrer Website angemeldet, so dass die Push-Tokens dem richtigen Profil zugeordnet werden können.

Sie können diese Methode nicht verwenden, um Push-Benachrichtigungen für Shopify zu implementieren. Shopify entfernt automatisch die Header, die für die Bereitstellung von Push auf diese Weise erforderlich sind.
Einrichten einer alternativen Push Domain
Um das folgende Beispiel zu verdeutlichen, verwenden wir http://insecure.com und https://secure.com als unsere beiden Domains mit dem Ziel, Besucher dazu zu bringen, sich für Push auf http://insecure.com zu registrieren. Dieses Beispiel könnte auch auf ein chrome-extension:// Schema für die Popup-Seite einer Browser-Erweiterung angewendet werden.
Schritt 1: Prompting Flow initiieren
Auf insecure.com öffnen Sie ein neues Fenster zu Ihrer sicheren Domain, indem Sie einen URL-Parameter verwenden, um die externe ID des aktuell angemeldeten Nutzers zu übergeben.
http://insecure.com
<button id="opt-in">Opt-In For Push</button>
<script>
// the same ID you would use with `braze.changeUser`:
const user_id = getUserIdSomehow();
// pass the user ID into the secure domain URL:
const secure_url = `https://secure.com/push-registration.html?external_id=${user_id}`;
// when the user takes some action, open the secure URL in a new window
document.getElementById("opt-in").onclick = function(){
if (!window.open(secure_url, 'Opt-In to Push', 'height=500,width=600,left=150,top=150')) {
window.alert('The popup was blocked by your browser');
} else {
// user is shown a popup window
// and you can now prompt for push in this window
}
}
</script>
Schritt 2: Für Push registrieren
An dieser Stelle öffnet secure.com ein Popup-Fenster, in dem Sie das Braze Web SDK für dieselbe Nutzer-ID initialisieren und die Nutzererlaubnis für Web-Push anfordern können.
https://secure.com/push-registration.html
Schritt 3: Kommunikation zwischen Domains (optional)
Jetzt, da die Nutzer über diesen Workflow auf insecure.com ein Opt-in durchführen können, möchten Sie vielleicht Ihre Website anpassen, je nachdem, ob der Nutzer bereits ein Opt-in hat oder nicht. Es macht keinen Sinn, die Nutzer aufzufordern, sich für Push zu registrieren, wenn sie bereits registriert sind.
Sie können iFrames und die postMessage-API verwenden, um zwischen Ihren beiden Domains zu kommunizieren.
insecure.com
Auf unserer Domain insecure.com fragen wir die sichere Domain (auf der Push tatsächlich registriert ist) nach Informationen über die Push-Registrierung des aktuellen Nutzers:innen:
<!-- Create an iframe to the secure domain and run getPushStatus onload-->
<iframe id="push-status" src="https://secure.com/push-status.html" onload="getPushStatus()" style="display:none;"></iframe>
<script>
function getPushStatus(event){
// send a message to the iframe asking for push status
event.target.contentWindow.postMessage({type: 'get_push_status'}, 'https://secure.com');
// listen for a response from the iframe's domain
window.addEventListener("message", (event) => {
if (event.origin === "http://insecure.com" && event.data.type === 'set_push_status') {
// update the page based on the push permission we're told
window.alert(`Is user registered for push? ${event.data.isPushPermissionGranted}`);
}
}
}
</script>
secure.com/Push-status.html
Häufig gestellte Fragen (FAQ)
Service-Teammitglieder
Was ist, wenn ich ein Service-Teammitglied nicht im Stammverzeichnis registrieren kann?
Standardmäßig kann ein Service-Teammitglied nur in demselben Verzeichnis verwendet werden, in dem es registriert ist. Wenn Ihr Service-Teammitglied z.B. in /assets/service-worker.js vorhanden ist, können Sie es nur in example.com/assets/* oder einem Unterverzeichnis des Ordners assets registrieren, nicht aber auf Ihrer Homepage (example.com/). Aus diesem Grund empfiehlt es sich, das Service-Teammitglied im Stammverzeichnis (z. B. https://example.com/service-worker.js) zu hosten und zu registrieren.
Wenn Sie kein Service-Teammitglied in Ihrer Root-Domain registrieren können, besteht eine Alternative darin, den HTTP-Header Service-Worker-Allowed zu verwenden, wenn Sie Ihre Service-Teammitglied-Datei bereitstellen. Wenn Sie Ihren Server so konfigurieren, dass in der Antwort für das Service-Teammitglied Service-Worker-Allowed: / zurückgegeben wird, weist dies den Browser an, den Geltungsbereich zu erweitern und die Verwendung aus einem anderen Verzeichnis zuzulassen.
Kann ich ein Service-Teammitglied mit Hilfe eines Tag Managers erstellen?
Nein, Service-Teammitglieder müssen auf dem Server Ihrer Website gehostet werden und können nicht über den Tag Manager geladen werden.
Sicherheit vor Ort
Ist HTTPS erforderlich?
Ja Die Internet-Standards verlangen, dass die Domain, die die Erlaubnis zur Push-Benachrichtigung anfragt, sicher ist.
Wann gilt eine Website als “sicher”?
Eine Website gilt als sicher, wenn sie einem der folgenden Muster für die sichere Herkunft entspricht. Braze Web-Push-Benachrichtigungen basieren auf diesem offenen Standard, so dass Man-in-the-Middle-Angriffe verhindert werden.
(https, , *)(wss, *, *)(, localhost, )(, .localhost, *)(, 127/8, )(, ::1/128, *)(file, *, —)(chrome-extension, *, —)
Was ist, wenn eine sichere Website nicht verfügbar ist?
Obwohl es sich bewährt hat, die gesamte Website zu sichern, können Kunden, die ihre Domain nicht sichern können, diese Anforderung durch die Verwendung eines sicheren Modals umgehen. Lesen Sie mehr in unserer Anleitung zur Verwendung von Alternate push domain oder sehen Sie sich eine funktionierende Demo an.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Android Braze SDK integrieren.
Integrierte Features
Die folgenden Features sind im Braze Android SDK integriert. Um weitere Push-Benachrichtigungs-Features zu nutzen, müssen Sie Push-Benachrichtigungen einrichten für Ihre App.
| Feature | Beschreibung |
|---|---|
| Push Stories | Android Push Stories sind standardmäßig im Braze Android SDK integriert. Weitere Informationen finden Sie unter Push Stories. |
| Push-Primer | Push-Primer-Campaigns ermutigen Ihre Nutzer:innen, Push-Benachrichtigungen auf ihrem Gerät für Ihre App zu aktivieren. Dies kann ohne SDK-Anpassung mithilfe unseres No-Code-Push-Primers erfolgen. |
Über den Lebenszyklus der Push-Benachrichtigung
Das folgende Flussdiagramm zeigt, wie Braze den Lebenszyklus der Push-Benachrichtigung handhabt, z. B. die Aufforderung zur Erteilung von Berechtigungen, die Generierung von Token und die Zustellung von Nachrichten.
---
config:
theme: neutral
---
flowchart TD
%% Permission flow
subgraph Permission[Push Permissions]
B{Android version of the device?}
B -->|Android 13+| C["requestPushPermissionPrompt() called"]
B -->|Android 12 and earlier| D[No permissions required]
%% Connect Android 12 path to Braze state
D --> H3[Braze: user subscription state]
H3 --> J3[Defaults to 'subscribed' when user profile created]
C --> E{Did the user grant push permission?}
E -->|Yes| F[POST_NOTIFICATIONS permission granted]
E -->|No| G[POST_NOTIFICATIONS permission denied]
%% Braze subscription state updates
F --> H1[Braze: user subscription state]
G --> H2[Braze: user subscription state]
H1 --> I1{Automatically opt in after permission granted?}
I1 -->|true| J1[Set to 'opted-in']
I1 -->|false| J2[Remains 'subscribed']
H2 --> K1[Remains 'subscribed'<br/>or 'unsubscribed']
%% Subscription state legend
subgraph BrazeStates[Braze subscription states]
L1['Subscribed' - default state<br/>when user profile created]
L2['Opted-in' - user explicitly<br/>wants push notifications]
L3['Unsubscribed' - user explicitly<br/>opted out of push]
end
%% Note about user-level states
note1[Note: These states are user-level<br/>and apply across all devices for the user]
%% Connect states to legend
J1 -.-> L2
J2 -.-> L1
J3 -.-> L1
K1 -.-> L3
note1 -.-> BrazeStates
end
%% Styling
classDef permissionClass fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
classDef tokenClass fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
classDef sdkClass fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef configClass fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef displayClass fill:#ffebee,stroke:#c62828,stroke-width:2px
classDef deliveryClass fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef brazeClass fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px
class A,B,C,E,F,G permissionClass
class H,I tokenClass
class J,K sdkClass
class N,O,P configClass
class R,S,S1,T,U,V displayClass
class W,X,X1,X2,Y,Z deliveryClass
class H1,H2,H3,I1,J1,J2,J3,K1,L1,L2,L3,note1 brazeClass
---
config:
theme: neutral
---
flowchart TD
%% Token generation flow
subgraph Token[Token Generation]
H["Braze SDK initialized"] --> Q{Is FCM auto-registration enabled?}
Q -->|Yes| L{Is required configuration present?}
Q -->|No| M[No FCM token generated]
L -->|Yes| I[Generate FCM token]
L -->|No| M
I --> K[Register token with Braze]
%% Configuration requirements
subgraph Config[Required configuration]
N['google-services.json' file is present]
O['com.google.firebase:firebase-messaging' in gradle]
P['com.google.gms.google-services' plugin in gradle]
end
%% Connect config to check
N -.-> L
O -.-> L
P -.-> L
end
%% Styling
classDef permissionClass fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
classDef tokenClass fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
classDef sdkClass fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef configClass fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef displayClass fill:#ffebee,stroke:#c62828,stroke-width:2px
classDef deliveryClass fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef brazeClass fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px
class A,B,C,E,F,G permissionClass
class H,I tokenClass
class J,K sdkClass
class N,O,P configClass
class R,S,S1,T,U,V displayClass
class W,X,X1,X2,Y,Z deliveryClass
class H1,H2,H3,I1,J1,J2,J3,K1,L1,L2,L3,note1 brazeClass
---
config:
theme: neutral
fontSize: 10
---
flowchart TD
subgraph Display[Push Display]
%% Push delivery flow
W[Push sent to FCM servers] --> X{Did FCM receive push?}
X -->|App is terminated| Y[FCM cannot deliver push to the app]
X -->|Delivery conditions met| X1[App receives push from FCM]
X1 --> X2[Braze SDK receives push]
X2 --> R[Push type?]
%% Push Display Flow
R -->|Standard push| S{Is push permission required?}
R -->|Silent push| T[Braze SDK processes silent push]
S -->|Yes| S1{Did the user grant push permission?}
S -->|No| V[Notification is shown to the user]
S1 -->|Yes| V
S1 -->|No| U[Notification is not shown to the user]
end
%% Styling
classDef permissionClass fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
classDef tokenClass fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
classDef sdkClass fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef configClass fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef displayClass fill:#ffebee,stroke:#c62828,stroke-width:2px
classDef deliveryClass fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef brazeClass fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px
class A,B,C,E,F,G permissionClass
class H,I tokenClass
class J,K sdkClass
class N,O,P configClass
class R,S,S1,T,U,V displayClass
class W,X,X1,X2,Y,Z deliveryClass
class H1,H2,H3,I1,J1,J2,J3,K1,L1,L2,L3,note1 brazeClass
Push-Benachrichtigungen einrichten

Eine Beispiel-App, die FCM mit dem Braze Android SDK verwendet, finden Sie unter Braze: Firebase Push Sample App.
Rate-Limits
Die Firebase Cloud Messaging (FCM) API hat ein Standard-Rate-Limit von 600.000 Anfragen pro Minute. Wenn Sie dieses Limit erreichen, versucht Braze es nach wenigen Minuten automatisch erneut. Um eine Erhöhung zu beantragen, wenden Sie sich an den Firebase-Support.
Schritt 1: Firebase zu Ihrem Projekt hinzufügen
Fügen Sie zunächst Firebase zu Ihrem Android-Projekt hinzu. Eine Schritt-für-Schritt-Anleitung finden Sie in Googles Firebase-Einrichtungsleitfaden.
Schritt 2: Cloud Messaging zu Ihren Abhängigkeiten hinzufügen
Fügen Sie als Nächstes die Cloud-Messaging-Bibliothek zu Ihren Projektabhängigkeiten hinzu. Öffnen Sie in Ihrem Android-Projekt build.gradle und fügen Sie die folgende Zeile zu Ihrem dependencies-Block hinzu.
implementation "google.firebase:firebase-messaging:+"
Ihre Abhängigkeiten sollten in etwa wie folgt aussehen:
dependencies {
implementation project(':android-sdk-ui')
implementation "com.google.firebase:firebase-messaging:+"
}
Schritt 3: Firebase Cloud Messaging API aktivieren
Wählen Sie in Google Cloud das Projekt aus, das Ihre Android-App verwendet, und aktivieren Sie dann die Firebase Cloud Messaging API.

Schritt 4: Ein Dienstkonto erstellen
Erstellen Sie als Nächstes ein neues Dienstkonto, damit Braze autorisierte API-Aufrufe bei der Registrierung von FCM-Token durchführen kann. Navigieren Sie in Google Cloud zu Service Accounts und wählen Sie Ihr Projekt aus. Wählen Sie auf der Seite Service Accounts die Option Create Service Account.

Geben Sie einen Namen, eine ID und eine Beschreibung für das Dienstkonto ein und wählen Sie dann Create and continue.
Suchen Sie im Feld Role den Eintrag Firebase Cloud Messaging API Admin aus der Rollenliste und wählen Sie ihn aus. Für einen eingeschränkteren Zugriff erstellen Sie eine benutzerdefinierte Rolle mit der Berechtigung cloudmessaging.messages.create und wählen Sie stattdessen diese aus der Liste. Wenn Sie fertig sind, wählen Sie Done.

Achten Sie darauf, Firebase Cloud Messaging API Admin auszuwählen, nicht Firebase Cloud Messaging Admin.

Schritt 5: JSON-Zugangsdaten generieren
Generieren Sie als Nächstes JSON-Zugangsdaten für Ihr FCM-Dienstkonto. Navigieren Sie in Google Cloud IAM & Admin zu Service Accounts und wählen Sie Ihr Projekt aus. Suchen Sie das FCM-Dienstkonto, das Sie zuvor erstellt haben, und wählen Sie Actions > Manage Keys.

Wählen Sie Add Key > Create new key.

Wählen Sie JSON und dann Create. Wenn Sie Ihr Dienstkonto mit einer anderen Google-Cloud-Projekt-ID als Ihrer FCM-Projekt-ID erstellt haben, müssen Sie den Wert von project_id in Ihrer JSON-Datei manuell aktualisieren.
Merken Sie sich, wohin Sie den Schlüssel heruntergeladen haben—Sie benötigen ihn im nächsten Schritt.


Private Keys können ein Sicherheitsrisiko darstellen, wenn sie kompromittiert werden. Bewahren Sie Ihre JSON-Zugangsdaten vorerst an einem sicheren Ort auf—Sie werden Ihren Schlüssel löschen, nachdem Sie ihn zu Braze hochgeladen haben.
Schritt 6: JSON-Zugangsdaten zu Braze hochladen
Laden Sie als Nächstes Ihre JSON-Zugangsdaten in Ihr Braze-Dashboard hoch. Wählen Sie in Braze Settings > App Settings.

Wählen Sie unter den Push Notification Settings Ihrer Android-App Firebase aus, klicken Sie dann auf Upload JSON File und laden Sie die Zugangsdaten hoch, die Sie zuvor generiert haben. Wenn Sie fertig sind, wählen Sie Save.


Private Keys können ein Sicherheitsrisiko darstellen, wenn sie kompromittiert werden. Da Ihr Schlüssel nun zu Braze hochgeladen wurde, löschen Sie die Datei, die Sie zuvor generiert haben.
Schritt 7: Automatische Token-registrieren einrichten
Wenn Nutzer:innen Push-Benachrichtigungen aktivieren, muss Ihre App ein FCM-Token auf deren Gerät generieren, bevor Sie ihnen Push-Benachrichtigungen senden können. Mit dem Braze SDK können Sie die automatische FCM-Token-Registrierung für das Gerät jeder Nutzerin und jedes Nutzers in den Braze-Konfigurationsdateien Ihres Projekts aktivieren.
Öffnen Sie zunächst die Firebase Console, öffnen Sie Ihr Projekt und wählen Sie Settings > Project settings.

Wählen Sie Cloud Messaging und kopieren Sie unter Firebase Cloud Messaging API (V1) die Nummer im Feld Sender ID.

Öffnen Sie als Nächstes Ihr Android-Studio-Projekt und verwenden Sie Ihre Firebase-Sender-ID, um die automatische FCM-Token-Registrierung in Ihrer braze.xml oder BrazeConfig zu aktivieren.
Um die automatische FCM-Token-Registrierung zu konfigurieren, fügen Sie die folgenden Zeilen zu Ihrer braze.xml-Datei hinzu:
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Ersetzen Sie FIREBASE_SENDER_ID durch den Wert, den Sie aus Ihren Firebase-Projekteinstellungen kopiert haben. Ihre braze.xml sollte in etwa wie folgt aussehen:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string translatable="false" name="com_braze_api_key">12345ABC-6789-DEFG-0123-HIJK456789LM</string>
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">603679405392</string>
</resources>
Um die automatische FCM-Token-Registrierung zu konfigurieren, fügen Sie die folgenden Zeilen zu Ihrer BrazeConfig hinzu:
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("FIREBASE_SENDER_ID")
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("FIREBASE_SENDER_ID")
Ersetzen Sie FIREBASE_SENDER_ID durch den Wert, den Sie aus Ihren Firebase-Projekteinstellungen kopiert haben. Ihre BrazeConfig sollte in etwa wie folgt aussehen:
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setApiKey("12345ABC-6789-DEFG-0123-HIJK456789LM")
.setCustomEndpoint("sdk.iad-01.braze.com")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("603679405392")
.build();
Braze.configure(this, brazeConfig);
val brazeConfig = BrazeConfig.Builder()
.setApiKey("12345ABC-6789-DEFG-0123-HIJK456789LM")
.setCustomEndpoint("sdk.iad-01.braze.com")
.setSessionTimeout(60)
.setHandlePushDeepLinksAutomatically(true)
.setGreatNetworkDataFlushInterval(10)
.setIsFirebaseCloudMessagingRegistrationEnabled(true)
.setFirebaseCloudMessagingSenderIdKey("603679405392")
.build()
Braze.configure(this, brazeConfig)

Wenn Sie FCM-Token stattdessen manuell registrieren möchten, setzen Sie die Eigenschaft registeredPushToken auf der Braze-Instanz in der onCreate()-Methode Ihrer App.
// Kotlin
Braze.getInstance(context).registeredPushToken = "FCM_TOKEN"
// Java
Braze.getInstance(context).setRegisteredPushToken("FCM_TOKEN");
Verwendung mehrerer Firebase-Projekte
Wenn Ihre App mehrere Firebase-Projekte verwendet, befolgen Sie diese Schritte:
- Belassen Sie Braze-Push im Standard-Firebase-Projekt, das über die
google-services.jsonIhrer App initialisiert wird. - Wenn Sie einen benutzerdefinierten Firebase-Messaging-Service verwenden, führen Sie Installations-IDs in benutzerdefinierten Firebase-Messaging-Services registrieren durch.
- Wenn Ihre App ein Push-Token auf anderem Wege erhält, setzen Sie
registeredPushTokenmanuell, wie im vorherigen Tipp gezeigt.

Firebase Cloud Messaging bietet keine unterstützte API zum Abrufen eines Tokens von einer FirebaseApp, die Sie manuell initialisieren. FirebaseMessagingService-Callbacks wie onNewToken und onRegistered werden nur für das Standardprojekt ausgelöst. Weitere Informationen finden Sie unter Configure multiple projects in der Firebase-Dokumentation.
Einzelheiten zu Versionen finden Sie in den SDK-Changelogs.
Schritt 8: Automatische Anfragen in Ihrer Application-Klasse entfernen
Um zu verhindern, dass Braze bei jedem Senden stiller Push-Benachrichtigungen unnötige Netzwerkanfragen auslöst, entfernen Sie alle automatischen Netzwerkanfragen, die in der onCreate()-Methode Ihrer Application-Klasse konfiguriert sind. Weitere Informationen finden Sie unter Android Developer Reference: Application.
Benachrichtigungen anzeigen
Schritt 1: Braze Firebase Messaging Service registrieren
Sie können entweder einen neuen, einen bestehenden oder einen Nicht-Braze Firebase Messaging Service erstellen. Wählen Sie die Option, die am besten zu Ihren spezifischen Anforderungen passt.
Braze enthält einen Dienst, der den Empfang und die Öffnungsabsichten von Push-Benachrichtigungen verarbeitet. Unsere Klasse BrazeFirebaseMessagingService muss in Ihrer AndroidManifest.xml registriert werden:
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Unser Benachrichtigungscode verwendet ebenfalls BrazeFirebaseMessagingService, um das Öffnen und das Klick-Tracking zu verarbeiten. Dieser Dienst muss in der AndroidManifest.xml registriert sein, damit er korrekt funktioniert. Denken Sie auch daran, dass Braze Benachrichtigungen aus unserem System mit einem eindeutigen Schlüssel versieht, sodass nur von unseren Systemen gesendete Benachrichtigungen gerendert werden. Sie können zusätzliche Dienste separat registrieren, um Benachrichtigungen zu rendern, die von anderen FCM-Diensten gesendet werden. Siehe AndroidManifest.xml in der Firebase-Push-Beispiel-App.

Vor Braze SDK 3.1.1 wurde AppboyFcmReceiver zur Verarbeitung von FCM-Push-Benachrichtigungen verwendet. Die Klasse AppboyFcmReceiver sollte aus Ihrem Manifest entfernt und durch die vorstehende Integration ersetzt werden.
Wenn Sie bereits einen Firebase Messaging Service registriert haben, können Sie RemoteMessage-Objekte über BrazeFirebaseMessagingService.handleBrazeRemoteMessage() an Braze übergeben. Diese Methode zeigt nur dann eine Benachrichtigung an, wenn das RemoteMessage-Objekt von Braze stammt, und ignoriert es andernfalls sicher.
Installations-IDs in benutzerdefinierten Firebase Messaging Services registrieren
Wenn Sie firebase-messaging v25.1.0 oder höher verwenden, nutzt die Firebase-registrieren die Firebase Installation ID. Überschreiben Sie in Ihrem benutzerdefinierten Firebase Messaging Service onRegistered und setzen Sie registeredPushToken.
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onRegistered(String installationId) {
super.onRegistered(installationId);
Braze.getInstance(this).setRegisteredPushToken(installationId);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// This Remote Message originated from Braze and a push notification was displayed.
// No further action is needed.
} else {
// This Remote Message did not originate from Braze.
// No action was taken and you can safely pass this Remote Message to other handlers.
}
}
}
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onRegistered(installationId: String) {
super.onRegistered(installationId)
Braze.getInstance(this).registeredPushToken = installationId
}
override fun onMessageReceived(remoteMessage: RemoteMessage?) {
super.onMessageReceived(remoteMessage)
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// This Remote Message originated from Braze and a push notification was displayed.
// No further action is needed.
} else {
// This Remote Message did not originate from Braze.
// No action was taken and you can safely pass this Remote Message to other handlers.
}
}
}
Wenn Sie einen weiteren Firebase Messaging Service verwenden möchten, können Sie auch einen Fallback-Firebase-Messaging-Service angeben, der aufgerufen wird, wenn Ihre Anwendung eine Push-Benachrichtigung empfängt, die nicht von Braze stammt.
Geben Sie in Ihrer braze.xml Folgendes an:
<bool name="com_braze_fallback_firebase_cloud_messaging_service_enabled">true</bool>
<string name="com_braze_fallback_firebase_cloud_messaging_service_classpath">com.company.OurFirebaseMessagingService</string>
oder legen Sie es über die Laufzeitkonfiguration fest:
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setFallbackFirebaseMessagingServiceEnabled(true)
.setFallbackFirebaseMessagingServiceClasspath("com.company.OurFirebaseMessagingService")
.build();
Braze.configure(this, brazeConfig);
val brazeConfig = BrazeConfig.Builder()
.setFallbackFirebaseMessagingServiceEnabled(true)
.setFallbackFirebaseMessagingServiceClasspath("com.company.OurFirebaseMessagingService")
.build()
Braze.configure(this, brazeConfig)
Schritt 2: Kleine Symbole an die Designrichtlinien anpassen
Allgemeine Informationen zu Android-Benachrichtigungssymbolen finden Sie in der Übersicht über Benachrichtigungen.
Ab Android N sollten Sie kleine Benachrichtigungssymbol-Assets, die Farbe enthalten, aktualisieren oder entfernen. Das Android-System (nicht das Braze SDK) ignoriert alle Nicht-Alpha- und Transparenzkanäle in Aktionssymbolen und dem kleinen Benachrichtigungssymbol. Anders ausgedrückt: Android konvertiert alle Teile Ihres kleinen Benachrichtigungssymbols in Monochrom – mit Ausnahme transparenter Bereiche.
So erstellen Sie ein kleines Benachrichtigungssymbol-Asset, das korrekt angezeigt wird:
- Entfernen Sie alle Farben aus dem Bild außer Weiß.
- Alle anderen nicht-weißen Bereiche des Assets sollten transparent sein.

Ein häufiges Symptom eines fehlerhaften Assets ist, dass das kleine Benachrichtigungssymbol als einfarbiges monochromes Quadrat gerendert wird. Dies liegt daran, dass das Android-System keine transparenten Bereiche im kleinen Benachrichtigungssymbol-Asset finden kann.
Die folgenden großen und kleinen Symbole sind Beispiele für korrekt gestaltete Symbole:
![]()
Schritt 3: Benachrichtigungssymbole konfigurieren
Symbole in braze.xml angeben
Braze ermöglicht es Ihnen, Ihre Benachrichtigungssymbole zu konfigurieren, indem Sie Drawable-Ressourcen in Ihrer braze.xml angeben:
<drawable name="com_braze_push_small_notification_icon">REPLACE_WITH_YOUR_ICON</drawable>
<drawable name="com_braze_push_large_notification_icon">REPLACE_WITH_YOUR_ICON</drawable>
Das Festlegen eines kleinen Benachrichtigungssymbols ist erforderlich. Wenn Sie keines festlegen, verwendet Braze standardmäßig das Anwendungssymbol als kleines Benachrichtigungssymbol, was möglicherweise suboptimal aussieht.
Das Festlegen eines großen Benachrichtigungssymbols ist optional, wird aber empfohlen.
Akzentfarbe des Symbols angeben
Die Akzentfarbe des Benachrichtigungssymbols kann in Ihrer braze.xml überschrieben werden. Wenn die Farbe nicht angegeben wird, ist die Standardfarbe dasselbe Grau, das Lollipop für Systembenachrichtigungen verwendet.
<integer name="com_braze_default_notification_accent_color">0xFFf33e3e</integer>
Sie können optional auch eine Farbreferenz verwenden:
<color name="com_braze_default_notification_accent_color">@color/my_color_here</color>
Schritt 4: Deeplinks hinzufügen
Automatisches Öffnen von Deeplinks aktivieren
Um Braze zu ermöglichen, Ihre App und alle Deeplinks automatisch zu öffnen, wenn eine Push-Benachrichtigung angetippt wird, setzen Sie com_braze_handle_push_deep_links_automatically in Ihrer braze.xml auf true:
<bool name="com_braze_handle_push_deep_links_automatically">true</bool>
Dieses Flag kann auch über die Laufzeitkonfiguration festgelegt werden:
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setHandlePushDeepLinksAutomatically(true)
.build();
Braze.configure(this, brazeConfig);
val brazeConfig = BrazeConfig.Builder()
.setHandlePushDeepLinksAutomatically(true)
.build()
Braze.configure(this, brazeConfig)
Wenn Sie Deeplinks benutzerdefiniert behandeln möchten, müssen Sie einen Push-Callback erstellen, der auf Push-Empfangs- und Öffnungsabsichten von Braze lauscht. Weitere Informationen finden Sie unter Einen Callback für Push-Ereignisse verwenden.
Verarbeitung von Vordergrund-Benachrichtigungen
Wenn eine Push-Benachrichtigung eintrifft, während Ihre App unter Android im Vordergrund läuft, zeigt das System sie standardmäßig automatisch an. Damit Braze den Push-Benachrichtigungs-Payload verarbeitet (für Analytics-Tracking, Deeplink-Verarbeitung und benutzerdefinierte Verarbeitung), leiten Sie die eingehenden Push-Daten in Ihrer FirebaseMessagingService.onMessageReceived-Methode an Braze weiter.
Funktionsweise
Wenn Sie BrazeFirebaseMessagingService.handleBrazeRemoteMessage aufrufen, prüft Braze, ob es sich bei dem Payload um eine Braze Push-Benachrichtigung handelt, und erstellt und zeigt diese gegebenenfalls mit der NotificationManagerCompat-Methode an. Im Gegensatz zu iOS zeigt Android Benachrichtigungen unabhängig davon an, ob sich die App im Vordergrund oder im Hintergrund befindet.
package com.example.push;
import com.braze.push.BrazeFirebaseMessagingService;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
// Let Braze process the payload and display the notification
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// Braze successfully handled the push notification
} else {
// Handle non-Braze messages
}
}
}
package com.example.push
import com.braze.push.BrazeFirebaseMessagingService
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
super.onMessageReceived(remoteMessage)
// Let Braze process the payload and display the notification
if (BrazeFirebaseMessagingService.handleBrazeRemoteMessage(this, remoteMessage)) {
// Braze successfully handled the push notification
} else {
// Handle non-Braze messages
}
}
}
Weitere Informationen finden Sie im Firebase-Integrationsbeispiel im Braze Android SDK-Repository.
Anpassen des Vordergrundverhaltens
Wenn Sie ein benutzerdefiniertes Vordergrundverhalten wünschen, z. B. die Systembenachrichtigung unterdrücken oder stattdessen eine In-App-UI anzeigen möchten, können Sie:
subscribeToPushNotificationEventsverwenden, um auf Push-Ereignisse zu reagieren und Deeplinks mit derBrazeNotificationUtils.routeUserWithNotificationOpenedIntent-Methode zu verarbeiten. Weitere Informationen finden Sie im Firebase-Push-Beispiel.- Eine eigene Benachrichtigung mit einer benutzerdefinierten
IBrazeNotificationFactoryerstellen und veröffentlichen, oder die Benachrichtigung unterdrücken, indem SienotificationManager.notifyin Ihrem Verarbeitungspfad nicht aufrufen.
Weitere Informationen zum Anpassen von Benachrichtigungen finden Sie unter Benutzerdefinierte Benachrichtigungs-Factory.
Benutzerdefinierte Deeplinks erstellen
Folgen Sie den Anweisungen in der Android-Entwicklerdokumentation zum Deeplinking, falls Sie Ihrer App noch keine Deeplinks hinzugefügt haben. Um mehr darüber zu erfahren, was Deeplinks sind, lesen Sie unseren FAQ-Artikel.
Deeplinks hinzufügen
Das Braze-Dashboard unterstützt das Festlegen von Deeplinks oder Web-URLs in Push-Benachrichtigungs-Campaigns und Canvases, die beim Anklicken der Benachrichtigung geöffnet werden.

Back-Stack-Verhalten anpassen
Das Android SDK platziert standardmäßig die Hauptstartaktivität Ihrer Host-App im Back-Stack, wenn Push-Deeplinks verfolgt werden. Braze ermöglicht es Ihnen, eine benutzerdefinierte Aktivität festzulegen, die anstelle Ihrer Hauptstartaktivität im Back-Stack geöffnet wird, oder den Back-Stack vollständig zu deaktivieren.
Um beispielsweise eine Aktivität namens YourMainActivity als Back-Stack-Aktivität mithilfe der Laufzeitkonfiguration festzulegen:
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setPushDeepLinkBackStackActivityEnabled(true)
.setPushDeepLinkBackStackActivityClass(YourMainActivity.class)
.build();
Braze.configure(this, brazeConfig);
val brazeConfig = BrazeConfig.Builder()
.setPushDeepLinkBackStackActivityEnabled(true)
.setPushDeepLinkBackStackActivityClass(YourMainActivity.class)
.build()
Braze.configure(this, brazeConfig)
Die entsprechende Konfiguration für Ihre braze.xml finden Sie hier. Beachten Sie, dass der Klassenname derselbe sein muss wie der von Class.forName() zurückgegebene.
<bool name="com_braze_push_deep_link_back_stack_activity_enabled">true</bool>
<string name="com_braze_push_deep_link_back_stack_activity_class_name">your.package.name.YourMainActivity</string>
Schritt 5: Benachrichtigungskanäle definieren
Das Braze Android SDK unterstützt Android-Benachrichtigungskanäle. Wenn eine Braze-Benachrichtigung keine ID für einen Benachrichtigungskanal enthält oder eine ungültige Kanal-ID aufweist, zeigt Braze die Benachrichtigung mit dem im SDK definierten Standard-Benachrichtigungskanal an. Nutzer:innen verwenden Android-Benachrichtigungskanäle innerhalb der Plattform, um Benachrichtigungen zu gruppieren.
Um den für Nutzer:innen sichtbaren Namen des Standard-Braze-Benachrichtigungskanals festzulegen, verwenden Sie BrazeConfig.setDefaultNotificationChannelName().
Um die für Nutzer:innen sichtbare Beschreibung des Standard-Braze-Benachrichtigungskanals festzulegen, verwenden Sie BrazeConfig.setDefaultNotificationChannelDescription().
Aktualisieren Sie alle API-Campaigns mit dem Parameter Android-Push-Objekt, um das Feld notification_channel einzuschließen. Wenn dieses Feld nicht angegeben wird, sendet Braze den Benachrichtigungs-Payload mit der Dashboard-Fallback-Kanal-ID.
Abgesehen vom Standard-Benachrichtigungskanal erstellt Braze keine weiteren Kanäle. Alle anderen Kanäle müssen programmatisch von der Host-App definiert und dann im Braze-Dashboard eingetragen werden.
Der Standardkanalname und die Beschreibung können auch in braze.xml konfiguriert werden.
<string name="com_braze_default_notification_channel_name">Your channel name</string>
<string name="com_braze_default_notification_channel_description">Your channel description</string>
Schritt 6: Benachrichtigungsanzeige und Analytics testen
Anzeige testen
An diesem Punkt sollten Sie Benachrichtigungen sehen können, die von Braze gesendet werden. Um dies zu testen, navigieren Sie zur Seite Campaigns in Ihrem Braze-Dashboard und erstellen Sie eine Push Notification-Campaign. Wählen Sie Android Push und gestalten Sie Ihre Nachricht. Klicken Sie dann auf das Augensymbol im Composer, um den Testsender aufzurufen. Geben Sie die Nutzer-ID oder E-Mail-Adresse Ihres aktuellen Nutzer:innen-Profils ein und klicken Sie auf Send Test. Die Push-Benachrichtigung sollte auf Ihrem Gerät erscheinen.

Bei Problemen mit der Push-Anzeige lesen Sie unseren Leitfaden zur Fehlerbehebung.
Analytics testen
An diesem Punkt sollte auch die Analytics-Protokollierung für das Öffnen von Push-Benachrichtigungen funktionieren. Wenn Sie auf die eingehende Benachrichtigung klicken, sollte der Wert für Direct Opens auf Ihrer Campaign-Ergebnisseite um 1 steigen. Lesen Sie unseren Artikel zum Push-Reporting für eine Aufschlüsselung der Push-Analytics.
Bei Problemen mit Push-Analytics lesen Sie unseren Leitfaden zur Fehlerbehebung.
Testen über die Kommandozeile
Wenn Sie In-App- und Push-Benachrichtigungen über die Kommandozeile testen möchten, können Sie eine einzelne Benachrichtigung über das Terminal per cURL und die Messaging-API senden. Sie müssen die folgenden Felder durch die korrekten Werte für Ihren Testfall ersetzen:
YOUR_API_KEY(Navigieren Sie zu Settings > API Keys.)YOUR_EXTERNAL_USER_ID(Suchen Sie ein Profil auf der Seite Search Users.)YOUR_KEY1(optional)YOUR_VALUE1(optional)
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_API_KEY}" -d '{
"external_user_ids":["YOUR_EXTERNAL_USER_ID"],
"messages": {
"android_push": {
"title":"Test push title",
"alert":"Test push",
"extra": {
"YOUR_KEY1":"YOUR_VALUE1"
}
}
}
}' https://rest.iad-01.braze.com/messages/send
Dieses Beispiel verwendet die US-01-Instanz. Wenn Sie sich nicht auf dieser Instanz befinden, ersetzen Sie den US-01-Endpunkt durch Ihren Endpunkt.
Push-Benachrichtigungen für Unterhaltungen

Die Initiative „People and Conversations“ ist eine langfristig angelegte Android-Initiative, die darauf abzielt, Personen und Unterhaltungen auf den Systemoberflächen des Smartphones stärker in den Vordergrund zu rücken. Diese Priorisierung basiert auf der Tatsache, dass Kommunikation und Interaktion mit anderen Menschen nach wie vor der wichtigste und am meisten geschätzte Funktionsbereich für die Mehrheit aller Android-Nutzer:innen über alle Demografien hinweg ist.
Nutzungsvoraussetzungen
- Dieser Benachrichtigungstyp erfordert das Braze Android SDK v15.0.0+ und Geräte mit Android 11+.
- Nicht unterstützte Geräte oder SDKs fallen auf eine Standard-Push-Benachrichtigung zurück.
Dieses Feature ist ausschließlich über die Braze REST API verfügbar. Weitere Informationen finden Sie unter Android-Push-Objekt.
FCM-Kontingent-Überschreitungsfehler
Wenn Ihr Limit für Firebase Cloud Messaging (FCM) überschritten wird, gibt Google „Quota exceeded“-Fehler zurück. Das Standardlimit für FCM beträgt 600.000 Anfragen pro Minute. Braze wiederholt den Versand gemäß den von Google empfohlenen Best Practices. Ein hohes Aufkommen dieser Fehler kann die Sendezeit jedoch um mehrere Minuten verlängern. Um mögliche Auswirkungen zu reduzieren, sendet Braze Ihnen eine Warnung, dass das Rate-Limit überschritten wird, sowie Schritte, die Sie unternehmen können, um die Fehler zu vermeiden.
Um Ihr aktuelles Limit zu überprüfen, gehen Sie zu Google Cloud Console > APIs & Services > Firebase Cloud Messaging API > Quotas & System Limits, oder besuchen Sie die FCM API Quotas-Seite.
Best Practices
Wir empfehlen diese Best Practices, um das Aufkommen dieser Fehler gering zu halten.
Eine Rate-Limit-Erhöhung bei FCM anfragen
Um eine Rate-Limit-Erhöhung bei FCM anzufragen, können Sie sich direkt an den Firebase Support wenden oder die folgenden Schritte ausführen:
- Gehen Sie zur FCM API Quotas-Seite.
- Suchen Sie das Kontingent Send requests per minute.
- Wählen Sie Edit Quota aus.
- Geben Sie einen neuen Wert ein und senden Sie Ihre Anfrage ab.
Ein Workspace-Rate-Limit festlegen
Sie können ein Workspace-Rate-Limit für Android-Push-Benachrichtigungen festlegen. Dies kann helfen, die Zustellungsrate Ihrer ausgehenden Nachrichten zu regulieren. Weitere Informationen finden Sie unter Workspace-Messaging-Rate-Limits.
Rate-Limits
Push-Benachrichtigungen unterliegen Rate-Limits – senden Sie also ruhig so viele, wie Ihre Anwendung benötigt. iOS und die Apple-Push-Notification-Service-Server (APNs) steuern, wie oft sie zugestellt werden, und Sie bekommen keine Probleme, wenn Sie zu viele senden. Wenn Ihre Push-Benachrichtigungen gedrosselt werden, werden sie möglicherweise verzögert, bis das Gerät das nächste Mal ein Keep-Alive-Paket sendet oder eine andere Benachrichtigung empfängt.
Push-Benachrichtigungen einrichten
Schritt 1: APNs-Token hochladen
Bevor Sie eine iOS-Push-Benachrichtigung mit Braze senden können, müssen Sie Ihre .p8-Push-Benachrichtigungsdatei hochladen, wie in der Entwicklerdokumentation von Apple beschrieben:
- Gehen Sie in Ihrem Apple-Entwickler-Account zu Certificates, Identifiers & Profiles.
- Wählen Sie unter Keys die Option All aus und klicken Sie auf die Schaltfläche „Hinzufügen“ (+) oben auf der Seite.
- Geben Sie unter Key Description einen eindeutigen Namen für den Signierschlüssel ein.
- Aktivieren Sie unter Key Services das Kontrollkästchen Apple Push Notification service (APNs) und klicken Sie dann auf Continue. Klicken Sie auf Confirm.
- Notieren Sie sich die Key-ID. Klicken Sie auf Download, um den Schlüssel zu generieren und herunterzuladen. Stellen Sie sicher, dass Sie die heruntergeladene Datei an einem sicheren Ort speichern, da Sie sie nur einmal herunterladen können.
- Gehen Sie in Braze zu Einstellungen > App-Einstellungen und laden Sie die
.p8-Datei unter Apple Push Certificate hoch. Sie können entweder Ihr Entwicklungs- oder Ihr Produktions-Push-Zertifikat hochladen. Um Push-Benachrichtigungen zu testen, nachdem Ihre App im App Store live ist, empfiehlt es sich, einen separaten Workspace für die Entwicklungsversion Ihrer App einzurichten. - Wenn Sie dazu aufgefordert werden, geben Sie die Bundle-ID, die Key-ID und die Team-ID Ihrer App ein. Sie müssen außerdem angeben, ob Benachrichtigungen an die Entwicklungs- oder die Produktionsumgebung Ihrer App gesendet werden sollen. Dies wird durch das Bereitstellungsprofil Ihrer App festgelegt.
- Wenn Sie fertig sind, wählen Sie Speichern aus.
Schritt 2: Push-Funktionen aktivieren
Gehen Sie in Xcode zum Abschnitt Signing & Capabilities des Haupt-App-Targets und fügen Sie die Funktion für Push-Benachrichtigungen hinzu.

Schritt 3: Push-Verarbeitung einrichten
Sie können das Swift SDK verwenden, um die Verarbeitung von Remote-Benachrichtigungen, die von Braze empfangen werden, zu automatisieren. Dies ist der einfachste Weg, Push-Benachrichtigungen zu verarbeiten, und die empfohlene Methode.
Schritt 3.1: Automatisierung in der Push-Eigenschaft aktivieren
Um die automatische Push-Integration zu aktivieren, setzen Sie die automation-Eigenschaft der push-Konfiguration auf true:
let configuration = Braze.Configuration(apiKey: "{YOUR-BRAZE-API-KEY}", endpoint: "{YOUR-BRAZE-API-ENDPOINT}")
configuration.push.automation = true
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"{YOUR-BRAZE-API-KEY}" endpoint:@"{YOUR-BRAZE-API-ENDPOINT}"];
configuration.push.automation = [[BRZConfigurationPushAutomation alloc] initEnablingAllAutomations:YES];
Dies weist das SDK an:
- Ihre Anwendung für Push-Benachrichtigungen im System zu registrieren.
- Bei der Initialisierung die Autorisierung/Berechtigung für Push-Benachrichtigungen anzufordern.
- Dynamisch Implementierungen für die systembezogenen Delegate-Methoden für Push-Benachrichtigungen bereitzustellen.

Die vom SDK durchgeführten Automatisierungsschritte sind mit bestehenden Push-Benachrichtigungs-Integrationen in Ihrer Codebasis kompatibel. Das SDK automatisiert nur die Verarbeitung von Remote-Benachrichtigungen, die von Braze empfangen werden. Alle System-Handler, die zur Verarbeitung Ihrer eigenen oder von einem Drittanbieter-SDK stammenden Remote-Benachrichtigungen implementiert wurden, funktionieren weiterhin, wenn automation aktiviert ist.

Das SDK muss im Main-Thread initialisiert werden, um die Automatisierung von Push-Benachrichtigungen zu aktivieren. Die SDK-Initialisierung muss erfolgen, bevor die Anwendung den Start abgeschlossen hat, oder in Ihrer AppDelegate-Implementierung von application(_:didFinishLaunchingWithOptions:).
Wenn Ihre Anwendung vor der Initialisierung des SDK eine zusätzliche Einrichtung erfordert, lesen Sie bitte die Dokumentationsseite zur verzögerten Initialisierung.
Schritt 3.2: Einzelne Konfigurationen überschreiben (optional)
Für eine detailliertere Kontrolle kann jeder Automatisierungsschritt einzeln aktiviert oder deaktiviert werden:
// Enable all automations and disable the automatic notification authorization request at launch.
configuration.push.automation = true
configuration.push.automation.requestAuthorizationAtLaunch = false
// Enable all automations and disable the automatic notification authorization request at launch.
configuration.push.automation = [[BRZConfigurationPushAutomation alloc] initEnablingAllAutomations:YES];
configuration.push.automation.requestAuthorizationAtLaunch = NO;
Unter Braze.Configuration.Push.Automation finden Sie alle verfügbaren Optionen und unter automation weitere Informationen zum Automatisierungsverhalten.

Wenn Sie auf Push-Benachrichtigungen für zusätzliches, app-spezifisches Verhalten angewiesen sind, können Sie möglicherweise trotzdem die automatische Push-Integration anstelle der manuellen Push-Benachrichtigungs-Integration verwenden. Die Methode subscribeToUpdates(_:) bietet die Möglichkeit, über von Braze verarbeitete Remote-Benachrichtigungen benachrichtigt zu werden.
Schritt 3.1: Für Push-Benachrichtigungen bei APNs registrieren
Fügen Sie das entsprechende Codebeispiel in die application:didFinishLaunchingWithOptions:-Delegate-Methode Ihrer App ein, damit sich die Geräte Ihrer Nutzer:innen bei APNs registrieren können. Stellen Sie sicher, dass Sie den gesamten Push-Integrationscode im Main-Thread Ihrer Anwendung aufrufen.
Braze bietet auch standardmäßige Push-Kategorien zur Unterstützung von Push-Action-Buttons, die manuell zu Ihrem Push-Registrierungscode hinzugefügt werden müssen. Weitere Integrationsschritte finden Sie unter Push-Action-Buttons.
Fügen Sie den folgenden Code zur Methode application:didFinishLaunchingWithOptions: Ihres App-Delegates hinzu.

Das folgende Codebeispiel enthält die Integration für die vorläufige Push-Authentifizierung (Zeilen 5 und 6). Wenn Sie keine vorläufige Autorisierung in Ihrer App verwenden möchten, können Sie die Codezeilen entfernen, die UNAuthorizationOptionProvisional zu den requestAuthorization-Optionen hinzufügen.
Besuchen Sie iOS-Benachrichtigungsoptionen, um mehr über die vorläufige Push-Authentifizierung zu erfahren.
application.registerForRemoteNotifications()
let center = UNUserNotificationCenter.current()
center.setNotificationCategories(Braze.Notifications.categories)
center.delegate = self
var options: UNAuthorizationOptions = [.alert, .sound, .badge]
if #available(iOS 12.0, *) {
options = UNAuthorizationOptions(rawValue: options.rawValue | UNAuthorizationOptions.provisional.rawValue)
}
center.requestAuthorization(options: options) { granted, error in
print("Notification authorization, granted: \(granted), error: \(String(describing: error))")
}
[application registerForRemoteNotifications];
UNUserNotificationCenter *center = UNUserNotificationCenter.currentNotificationCenter;
[center setNotificationCategories:BRZNotifications.categories];
center.delegate = self;
UNAuthorizationOptions options = UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
if (@available(iOS 12.0, *)) {
options = options | UNAuthorizationOptionProvisional;
}
[center requestAuthorizationWithOptions:options
completionHandler:^(BOOL granted, NSError *_Nullable error) {
NSLog(@"Notification authorization, granted: %d, "
@"error: %@)",
granted, error);
}];

Sie müssen Ihr Delegate-Objekt mit center.delegate = self synchron zuweisen, bevor Ihre App den Start abgeschlossen hat, vorzugsweise in application:didFinishLaunchingWithOptions:. Andernfalls kann es passieren, dass Ihre App eingehende Push-Benachrichtigungen verpasst. Besuchen Sie Apples UNUserNotificationCenterDelegate-Dokumentation, um mehr zu erfahren.
Wenn Ihre App wipeData() aufruft und später das Braze SDK im selben App-Lauf erneut aktiviert, müssen Sie registerForRemoteNotifications() erneut aufrufen, um das vom SDK verwendete Geräte-Token wiederherzustellen.
Schritt 3.2: Push-Token bei Braze registrieren
Sobald die APNs-Registrierung abgeschlossen ist, übergeben Sie das resultierende deviceToken an Braze, um Push-Benachrichtigungen für die Nutzer:innen zu aktivieren.
Fügen Sie den folgenden Code zur Methode application(_:didRegisterForRemoteNotificationsWithDeviceToken:) Ihrer App hinzu:
AppDelegate.braze?.notifications.register(deviceToken: deviceToken)
Fügen Sie den folgenden Code zur Methode application:didRegisterForRemoteNotificationsWithDeviceToken: Ihrer App hinzu:
[AppDelegate.braze.notifications registerDeviceToken:deviceToken];

Die Delegate-Methode application:didRegisterForRemoteNotificationsWithDeviceToken: wird jedes Mal aufgerufen, nachdem application.registerForRemoteNotifications() aufgerufen wurde.
Wenn Sie von einem anderen Push-Dienst zu Braze migrieren und das Gerät Ihrer Nutzer:innen bereits bei APNs registriert ist, sammelt diese Methode Token aus bestehenden Registrierungen beim nächsten Aufruf, und die Nutzer:innen müssen sich nicht erneut für Push anmelden.
Schritt 3.3: Push-Verarbeitung aktivieren
Leiten Sie anschließend die empfangenen Push-Benachrichtigungen an Braze weiter. Dieser Schritt ist notwendig für die Protokollierung von Push-Analytics und die Link-Verarbeitung. Stellen Sie sicher, dass Sie den gesamten Push-Integrationscode im Main-Thread Ihrer Anwendung aufrufen.
Standard-Push-Verarbeitung
Um die Standard-Push-Verarbeitung von Braze zu aktivieren, fügen Sie den folgenden Code zur Methode application(_:didReceiveRemoteNotification:fetchCompletionHandler:) Ihrer App hinzu:
if let braze = AppDelegate.braze, braze.notifications.handleBackgroundNotification(
userInfo: userInfo,
fetchCompletionHandler: completionHandler
) {
return
}
completionHandler(.noData)
Fügen Sie als Nächstes den folgenden Code zur Methode userNotificationCenter(_:didReceive:withCompletionHandler:) Ihrer App hinzu:
if let braze = AppDelegate.braze, braze.notifications.handleUserNotification(
response: response,
withCompletionHandler: completionHandler
) {
return
}
completionHandler()
Um die Standard-Push-Verarbeitung von Braze zu aktivieren, fügen Sie den folgenden Code zur Methode application:didReceiveRemoteNotification:fetchCompletionHandler: Ihrer Anwendung hinzu:
BOOL processedByBraze = AppDelegate.braze != nil && [AppDelegate.braze.notifications handleBackgroundNotificationWithUserInfo:userInfo
fetchCompletionHandler:completionHandler];
if (processedByBraze) {
return;
}
completionHandler(UIBackgroundFetchResultNoData);
Fügen Sie als Nächstes den folgenden Code zur Methode (void)userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: Ihrer App hinzu:
BOOL processedByBraze = AppDelegate.braze != nil && [AppDelegate.braze.notifications handleUserNotificationWithResponse:response
withCompletionHandler:completionHandler];
if (processedByBraze) {
return;
}
completionHandler();
Vordergrund-Push-Verarbeitung
Um Vordergrund-Push-Benachrichtigungen zu aktivieren und Braze zu ermöglichen, diese beim Empfang zu erkennen, implementieren Sie UNUserNotificationCenter.userNotificationCenter(_:willPresent:withCompletionHandler:). Wenn Nutzer:innen auf Ihre Vordergrund-Benachrichtigung tippen, wird der Push-Delegate userNotificationCenter(_:didReceive:withCompletionHandler:) aufgerufen und Braze protokolliert das Push-Klick-Ereignis.
func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions
) -> Void) {
if let braze = AppDelegate.braze {
// Forward notification payload to Braze for processing.
braze.notifications.handleForegroundNotification(notification: notification)
}
// Configure application's foreground notification display options.
if #available(iOS 14.0, *) {
completionHandler([.list, .banner])
} else {
completionHandler([.alert])
}
}
Um Vordergrund-Push-Benachrichtigungen zu aktivieren und Braze zu ermöglichen, diese beim Empfang zu erkennen, implementieren Sie userNotificationCenter:willPresentNotification:withCompletionHandler:. Wenn Nutzer:innen auf Ihre Vordergrund-Benachrichtigung tippen, wird der Push-Delegate userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler: aufgerufen und Braze protokolliert das Push-Klick-Ereignis.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
if (AppDelegate.braze != nil) {
// Forward notification payload to Braze for processing.
[AppDelegate.braze.notifications handleForegroundNotificationWithNotification:notification];
}
// Configure application's foreground notification display options.
if (@available(iOS 14.0, *)) {
completionHandler(UNNotificationPresentationOptionList | UNNotificationPresentationOptionBanner);
} else {
completionHandler(UNNotificationPresentationOptionAlert);
}
}
Benachrichtigungen testen
Wenn Sie In-App- und Push-Benachrichtigungen über die Befehlszeile testen möchten, können Sie über CURL und die Messaging-API eine einzelne Benachrichtigung über das Terminal senden. Sie müssen die folgenden Felder durch die richtigen Werte für Ihren Testfall ersetzen:
YOUR_API_KEY– verfügbar unter Einstellungen > API-Schlüssel.YOUR_EXTERNAL_USER_ID– verfügbar auf der Seite Nutzer:innen suchen. Weitere Informationen finden Sie unter Nutzer-IDs zuweisen.YOUR_KEY1(optional)YOUR_VALUE1(optional)
Im folgenden Beispiel wird die Instanz US-01 verwendet. Wenn Sie sich nicht auf dieser Instanz befinden, sehen Sie in unserer API-Dokumentation nach, an welchen Endpunkt Sie Anfragen stellen müssen.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_API_KEY}" -d '{
"external_user_ids":["YOUR_EXTERNAL_USER_ID"],
"messages": {
"apple_push": {
"alert":"Test push",
"extra": {
"YOUR_KEY1":"YOUR_VALUE1"
}
}
}
}' https://rest.iad-01.braze.com/messages/send
Updates für Push-Benachrichtigungen abonnieren
Um auf die von Braze verarbeiteten Push-Benachrichtigungs-Payloads zuzugreifen, verwenden Sie die Methode Braze.Notifications.subscribeToUpdates(payloadTypes:_:).
Mit dem Parameter payloadTypes können Sie festlegen, ob Sie Benachrichtigungen über Push-Öffnungsereignisse, Push-Empfangsereignisse oder beides abonnieren möchten.
// This subscription is maintained through a Braze cancellable, which will observe for changes until the subscription is cancelled.
// You must keep a strong reference to the cancellable to keep the subscription active.
// The subscription is canceled either when the cancellable is deinitialized or when you call its `.cancel()` method.
let cancellable = AppDelegate.braze?.notifications.subscribeToUpdates(payloadTypes: [.open, .received]) { payload in
print("Braze processed notification with title '\(payload.title)' and body '\(payload.body)'")
}

Beachten Sie, dass Push-Empfangsereignisse nur für Vordergrund-Benachrichtigungen und content-available-Hintergrund-Benachrichtigungen ausgelöst werden. Sie werden nicht für Benachrichtigungen ausgelöst, die im beendeten Zustand empfangen werden, oder für Hintergrund-Benachrichtigungen ohne das Feld content-available.
NSInteger filtersValue = BRZNotificationsPayloadTypeFilter.opened.rawValue | BRZNotificationsPayloadTypeFilter.received.rawValue;
BRZNotificationsPayloadTypeFilter *filters = [[BRZNotificationsPayloadTypeFilter alloc] initWithRawValue: filtersValue];
BRZCancellable *cancellable = [notifications subscribeToUpdatesWithPayloadTypes:filters update:^(BRZNotificationsPayload * _Nonnull payload) {
NSLog(@"Braze processed notification with title '%@' and body '%@'", payload.title, payload.body);
}];

Beachten Sie, dass Push-Empfangsereignisse nur für Vordergrund-Benachrichtigungen und content-available-Hintergrund-Benachrichtigungen ausgelöst werden. Sie werden nicht für Benachrichtigungen ausgelöst, die im beendeten Zustand empfangen werden, oder für Hintergrund-Benachrichtigungen ohne das Feld content-available.

Bei Verwendung der automatischen Push-Integration ist subscribeToUpdates(_:) die einzige Möglichkeit, über von Braze verarbeitete Remote-Benachrichtigungen informiert zu werden. Die Systemmethoden UIAppDelegate und UNUserNotificationCenterDelegate werden nicht aufgerufen, wenn die Benachrichtigung automatisch von Braze verarbeitet wird.

Erstellen Sie Ihr Push-Benachrichtigungs-Abonnement in application(_:didFinishLaunchingWithOptions:), um sicherzustellen, dass Ihr Abonnement ausgelöst wird, nachdem Endnutzer:innen auf eine Benachrichtigung tippen, während sich Ihre App im beendeten Zustand befindet.
Vordergrund-Benachrichtigungen verarbeiten
Standardmäßig zeigt iOS eine Push-Benachrichtigung nicht automatisch an, wenn sie eintrifft, während Ihre App im Vordergrund ist. Um Push-Benachrichtigungen im Vordergrund anzuzeigen und sie mit Braze Analytics zu tracken, rufen Sie die Methode handleForegroundNotification(notification:) innerhalb Ihrer UNUserNotificationCenterDelegate.userNotificationCenter(_:willPresent:withCompletionHandler:)-Implementierung auf.
So funktioniert es
Wenn Sie handleForegroundNotification(notification:) aufrufen, verarbeitet Braze den Benachrichtigungs-Payload, um Analytics zu protokollieren und Deeplinks oder Button-Aktionen zu verarbeiten. Das tatsächliche Anzeigeverhalten wird durch die UNNotificationPresentationOptions gesteuert, die Sie an den Completion-Handler übergeben.
import BrazeKit
import UserNotifications
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void
) {
// Let Braze process the notification payload
if let braze = AppDelegate.braze {
braze.notifications.handleForegroundNotification(notification: notification)
}
// Control how the notification appears in the foreground
if #available(iOS 14.0, *) {
completionHandler([.banner, .list, .sound])
} else {
completionHandler([.alert, .sound])
}
}
}
Ein vollständiges Beispiel finden Sie im Beispiel zur manuellen Integration von Push-Benachrichtigungen im Braze Swift SDK-Repository.
Push-Primer
Push-Primer-Campaigns ermutigen Ihre Nutzer:innen, Push-Benachrichtigungen auf ihrem Gerät für Ihre App zu aktivieren. Dies kann ohne SDK-Anpassung mit unserem No-Code-Push-Primer umgesetzt werden.
Dynamisches APNs-Gateway-Management
Dynamisches Apple Push Notification Service (APNs)-Gateway-Management verbessert die Zuverlässigkeit und Effizienz von iOS-Push-Benachrichtigungen, indem es die korrekte APNs-Umgebung automatisch erkennt. Zuvor mussten Sie APNs-Umgebungen (Entwicklung oder Produktion) für Ihre Push-Benachrichtigungen manuell auswählen, was manchmal zu fehlerhaften Gateway-Konfigurationen, Zustellungsfehlern und BadDeviceToken-Fehlern führte.
Mit dynamischem APNs-Gateway-Management profitieren Sie von:
- Verbesserte Zuverlässigkeit: Benachrichtigungen werden immer an die korrekte APNs-Umgebung zugestellt, was fehlgeschlagene Zustellungen reduziert.
- Vereinfachte Konfiguration: Sie müssen APNs-Gateway-Einstellungen nicht mehr manuell verwalten.
- Fehlerresilienz: Ungültige oder fehlende Gateway-Werte werden ordnungsgemäß behandelt und gewährleisten einen unterbrechungsfreien Dienst.
Voraussetzungen
Braze unterstützt dynamisches APNs-Gateway-Management für Push-Benachrichtigungen auf iOS mit der folgenden SDK-Versionsanforderung:
Funktionsweise
Wenn eine iOS-App mit dem Braze Swift SDK integriert wird, sendet sie gerätebezogene Daten, einschließlich aps-environment, an die Braze SDK API, sofern verfügbar. Der apns_gateway-Wert gibt an, ob die App die Entwicklungs- (dev) oder Produktions- (prod) APNs-Umgebung verwendet.
Braze speichert außerdem den gemeldeten Gateway-Wert für jedes Gerät. Wenn ein neuer, gültiger Gateway-Wert empfangen wird, aktualisiert Braze den gespeicherten Wert automatisch.
Wenn Braze eine Push-Benachrichtigung sendet:
- Wenn ein gültiger Gateway-Wert (dev oder prod) für das Gerät gespeichert ist, verwendet Braze diesen, um die korrekte APNs-Umgebung zu bestimmen.
- Wenn kein Gateway-Wert gespeichert ist, verwendet Braze standardmäßig die APNs-Umgebung, die auf der Seite App-Einstellungen konfiguriert ist.
Häufig gestellte Fragen
Warum wurde dieses Feature eingeführt?
Mit dynamischem APNs-Gateway-Management wird die korrekte Umgebung automatisch ausgewählt. Zuvor mussten Sie das APNs-Gateway manuell konfigurieren, was zu BadDeviceToken-Fehlern, Token-Invalidierung und potenziellen APNs-Rate-Limiting-Problemen führen konnte.
Wie wirkt sich dies auf die Push-Zustellungs-Performance aus?
Dieses Feature verbessert die Zustellungsraten, indem Push-Token immer an die korrekte APNs-Umgebung weitergeleitet werden und Fehler durch falsch konfigurierte Gateways vermieden werden.
Kann ich dieses Feature deaktivieren?
Dynamisches APNs-Gateway-Management ist standardmäßig aktiviert und bietet Verbesserungen der Zuverlässigkeit. Wenn Sie spezifische Anwendungsfälle haben, die eine manuelle Gateway-Auswahl erfordern, wenden Sie sich an den Braze Support.
Über Push-Benachrichtigungen für Android TV

Obwohl es sich nicht um ein natives Feature handelt, wird die Android-TV-Push-Integration durch die Nutzung des Braze Android SDK und Firebase Cloud Messaging ermöglicht, um ein Push-Token für Android TV zu registrieren. Sie müssen jedoch eine UI erstellen, um den Benachrichtigungs-Payload nach dem Empfang anzuzeigen.
Voraussetzungen
Um dieses Feature zu nutzen, müssen Sie Folgendes abschließen:
Push-Benachrichtigungen einrichten
So richten Sie Push-Benachrichtigungen für Android TV ein:
- Erstellen Sie eine angepasste Ansicht in Ihrer App, um Ihre Benachrichtigungen anzuzeigen.
- Erstellen Sie eine angepasste Benachrichtigungs-Factory. Dies überschreibt das Standardverhalten des SDK und ermöglicht es Ihnen, die Benachrichtigungen manuell anzuzeigen. Durch die Rückgabe von
nullwird verhindert, dass das SDK die Benachrichtigung verarbeitet, und es ist angepasster Code erforderlich, um die Benachrichtigung anzuzeigen. Nach Abschluss dieser Schritte können Sie Push-Benachrichtigungen an Android TV senden. - (Optional) Um Klick-Analytics effektiv zu tracken, richten Sie Klick-Analytics-Tracking ein. Dies kann durch die Erstellung eines Push-Callbacks erreicht werden, der auf Braze-Push-Opened- und -Received-Intents lauscht.

Diese Benachrichtigungen bleiben nicht bestehen und sind für Nutzer:innen nur sichtbar, wenn das Gerät sie anzeigt. Dies liegt daran, dass das Benachrichtigungscenter von Android TV keine historischen Benachrichtigungen unterstützt.
Android-TV-Push-Benachrichtigungen testen
Um zu testen, ob Ihre Push-Implementierung erfolgreich ist, senden Sie eine Benachrichtigung über das Braze-Dashboard, wie Sie es normalerweise für ein Android-Gerät tun würden.
- Wenn die Anwendung geschlossen ist: Die Push-Nachricht wird als Toast-Benachrichtigung auf dem Bildschirm angezeigt.
- Wenn die Anwendung geöffnet ist: Sie haben die Möglichkeit, die Nachricht in Ihrer eigenen gehosteten UI anzuzeigen. Orientieren Sie sich am UI-Styling der In-App-Nachrichten des Android Mobile SDK.
Best Practices
Für Marketer, die Braze verwenden, ist das Starten einer Campaign für Android TV identisch mit dem Starten eines Push an Android-Mobile-Apps. Um diese Geräte exklusiv anzusprechen, wählen Sie die Android-TV-App in der Segmentierung aus.
Die von FCM zurückgegebene Antwort zu Zustellung und Klicks folgt derselben Konvention wie bei einem mobilen Android-Gerät; daher sind alle Fehler im Nachrichtenaktivitätsprotokoll sichtbar.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Cordova Braze SDK integrieren. Nach der Integration des SDK sind die grundlegenden Funktionen für Push-Benachrichtigungen standardmäßig aktiviert. Um Rich-Push-Benachrichtigungen und Push Stories zu verwenden, müssen Sie sie einzeln einrichten. Um iOS-Push-Nachrichten zu verwenden, müssen Sie außerdem ein gültiges Push-Zertifikat hochladen.

Jedes Mal, wenn Sie Ihre Cordova-Plugins hinzufügen, entfernen oder aktualisieren, überschreibt Cordova das Podfile im Xcode-Projekt Ihrer iOS-App. Das bedeutet, dass Sie diese Features jedes Mal neu einrichten müssen, wenn Sie Ihre Cordova-Plugins ändern.
Push-Deeplinking aktivieren
Standardmäßig verarbeitet das Braze Cordova SDK Deeplinks aus Push-Benachrichtigungen nicht automatisch. Um Push-Deeplinking zu aktivieren, befolgen Sie die Konfigurationsschritte unter Deeplinking. Weitere Informationen zu diesen und anderen Push-Konfigurationsoptionen finden Sie unter Optionale Konfigurationen.
Grundlegende Push-Benachrichtigungen deaktivieren (nur iOS)
Nachdem Sie das Braze Cordova SDK für iOS integriert haben, ist die grundlegende Funktionalität der Push-Benachrichtigung standardmäßig aktiviert. Um diese Funktion in Ihrer iOS-App zu deaktivieren, fügen Sie Folgendes zu Ihrer config.xml-Datei hinzu. Weitere Informationen finden Sie unter Optionale Konfigurationen.
<platform name="ios">
<preference name="com.braze.ios_disable_automatic_push_registration" value="NO" />
<preference name="com.braze.ios_disable_automatic_push_handling" value="NO" />
</platform>
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Flutter Braze SDK integrieren.
Push-Benachrichtigungen einrichten
Schritt 1: Ersteinrichtung abschließen
Schritt 1.1: Für Push registrieren
Registrieren Sie sich für Push über die Firebase Cloud Messaging (FCM) API von Google. Eine vollständige Anleitung finden Sie in den folgenden Schritten aus dem nativen Android-Push-Integrationsleitfaden:
- Firebase zu Ihrem Projekt hinzufügen.
- Cloud Messaging zu Ihren Abhängigkeiten hinzufügen.
- Ein Dienstkonto erstellen.
- JSON-Zugangsdaten generieren.
- Ihre JSON-Zugangsdaten in Braze hochladen.
Schritt 1.2: Ihre Google Sender-ID abrufen
Öffnen Sie zunächst die Firebase Console, öffnen Sie Ihr Projekt und wählen Sie dann Settings > Project settings.

Wählen Sie Cloud Messaging und kopieren Sie unter Firebase Cloud Messaging API (V1) die Sender ID in Ihre Zwischenablage.

Schritt 1.3: Ihre braze.xml aktualisieren
Fügen Sie Folgendes zu Ihrer braze.xml-Datei hinzu. Ersetzen Sie FIREBASE_SENDER_ID durch die zuvor kopierte Sender-ID.
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>
Schritt 1.1: APNs-Zertifikate hochladen
Generieren Sie ein Apple Push Notification Service (APNs)-Zertifikat und laden Sie es in das Braze-Dashboard hoch. Eine vollständige Anleitung finden Sie unter Ihr APNs-Zertifikat hochladen.
Schritt 1.2: Push-Benachrichtigungsunterstützung zu Ihrer App hinzufügen
Folgen Sie dem nativen iOS-Integrationsleitfaden.
Schritt 2: Auf Push-Benachrichtigungsereignisse lauschen (optional)
Um auf Push-Benachrichtigungsereignisse zu lauschen, die Braze erkannt und verarbeitet hat, rufen Sie subscribeToPushNotificationEvents() auf und übergeben Sie ein auszuführendes Argument.

Braze-Push-Benachrichtigungsereignisse sind sowohl auf Android als auch auf iOS verfügbar. Aufgrund von Plattformunterschieden erkennt iOS Braze-Push-Ereignisse nur, wenn Nutzer:innen mit einer Benachrichtigung interagiert haben.
// Create stream subscription
StreamSubscription pushEventsStreamSubscription;
pushEventsStreamSubscription = braze.subscribeToPushNotificationEvents((BrazePushEvent pushEvent) {
print("Push Notification event of type ${pushEvent.payloadType} seen. Title ${pushEvent.title}\n and deeplink ${pushEvent.url}");
// Handle push notification events
});
// Cancel stream subscription
pushEventsStreamSubscription.cancel();
Felder für Push-Benachrichtigungsereignisse

Aufgrund von Plattformbeschränkungen unter iOS kann das Braze SDK Push-Payloads nur verarbeiten, während die App im Vordergrund ist. Listener werden unter iOS nur für den Ereignistyp push_opened ausgelöst, nachdem Nutzer:innen mit einer Push-Benachrichtigung interagiert haben.
Eine vollständige Liste der Push-Benachrichtigungsfelder finden Sie in der folgenden Tabelle:
| Feldname | Typ | Beschreibung |
|---|---|---|
payloadType |
String | Gibt den Payload-Typ der Benachrichtigung an. Die beiden Werte, die vom Braze Flutter SDK gesendet werden, sind push_opened und push_received. Nur push_opened-Ereignisse werden unter iOS unterstützt. |
url |
String | Gibt die URL an, die durch die Benachrichtigung geöffnet wurde. |
useWebview |
Boolean | Wenn true, wird die URL in der App in einem modalen Webview geöffnet. Wenn false, wird die URL im Gerätebrowser geöffnet. |
title |
String | Stellt den Titel der Benachrichtigung dar. |
body |
String | Stellt den Text- oder Inhaltstext der Benachrichtigung dar. |
summaryText |
String | Stellt den Zusammenfassungstext der Benachrichtigung dar. Dieser wird unter iOS von subtitle abgebildet. |
badgeCount |
Number | Stellt die Badge-Anzahl der Benachrichtigung dar. |
timestamp |
Number | Stellt den Zeitpunkt dar, zu dem der Payload von der Anwendung empfangen wurde. |
isSilent |
Boolean | Wenn true, wird der Payload still empfangen. Details zum Senden stiller Android-Push-Benachrichtigungen finden Sie unter Stille Push-Benachrichtigungen auf Android. Details zum Senden stiller iOS-Push-Benachrichtigungen finden Sie unter Stille Push-Benachrichtigungen auf iOS. |
isBrazeInternal |
Boolean | Dies ist true, wenn ein Benachrichtigungs-Payload für ein internes SDK-Feature gesendet wurde, z. B. Feature-Flag-Synchronisierung oder Uninstall-Tracking. Der Payload wird für die Nutzer:innen still empfangen. |
imageUrl |
String | Gibt die URL an, die mit dem Benachrichtigungsbild verknüpft ist. |
brazeProperties |
Object | Stellt Braze-Eigenschaften dar, die mit der Campaign verknüpft sind (Schlüssel-Wert-Paare). |
ios |
Object | Stellt iOS-spezifische Felder dar. |
android |
Object | Stellt Android-spezifische Felder dar. |
Schritt 3: Anzeige von Push-Benachrichtigungen testen
Um Ihre Integration nach der Konfiguration von Push-Benachrichtigungen in der nativen Schicht zu testen:
- Legen Sie eine:n aktive:n Nutzer:in in der Flutter-Anwendung fest. Initialisieren Sie dazu Ihr Plugin, indem Sie
braze.changeUser('your-user-id')aufrufen. - Gehen Sie zu Campaigns und erstellen Sie eine neue Push-Benachrichtigungs-Campaign. Wählen Sie die Plattformen aus, die Sie testen möchten.
- Verfassen Sie Ihre Testbenachrichtigung und wechseln Sie zum Tab Test. Fügen Sie dieselbe
user-idals Testnutzer:in hinzu und klicken Sie auf Send Test. - Sie sollten die Benachrichtigung in Kürze auf Ihrem Gerät erhalten. Möglicherweise müssen Sie im Benachrichtigungscenter nachsehen oder die Einstellungen aktualisieren, wenn sie nicht angezeigt wird.

Ab Xcode 14 können Sie Remote-Push-Benachrichtigungen auf einem iOS-Simulator testen.
Schritt 4: Deeplinks hinzufügen (Android)

Unter Android ist com_braze_handle_push_deep_links_automatically standardmäßig auf false gesetzt. Mit der Standardeinstellung sendet das Tippen auf eine Push-Benachrichtigung zwar ein push_opened-Ereignis an Ihren Dart-Listener, aber das native SDK bringt Ihre App nicht in den Vordergrund und öffnet das Deeplink-Ziel nicht automatisch. Wenn Ihre App beim Tippen auf eine Benachrichtigung nicht gestartet wird, ist dieses Flag die wahrscheinlichste Ursache.
Um Braze zu ermöglichen, Ihre App und alle Deeplinks automatisch zu öffnen, wenn auf eine Push-Benachrichtigung getippt wird, setzen Sie com_braze_handle_push_deep_links_automatically in Ihrer braze.xml auf true:
<bool name="com_braze_handle_push_deep_links_automatically">true</bool>
Dieses Flag kann auch über die Laufzeitkonfiguration in Ihrem nativen Android-Code gesetzt werden:
val brazeConfig = BrazeConfig.Builder()
.setHandlePushDeepLinksAutomatically(true)
.build()
Braze.configure(this, brazeConfig)
Wenn Sie Deeplinks stattdessen benutzerdefiniert verarbeiten möchten, verwenden Sie den in Schritt 2 beschriebenen subscribeToPushNotificationEvents()-Listener, um das url-Feld des push_opened-Ereignisses selbst weiterzuleiten. Weitere Informationen finden Sie unter Deeplinking.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Android Braze SDK integrieren.
Push-Benachrichtigungen einrichten
Neuere von Huawei hergestellte Telefone sind mit Huawei Mobile Services (HMS) ausgestattet – einem Dienst, der Push anstelle von Googles Firebase Cloud Messaging (FCM) zustellt.
Schritt 1: Registrieren Sie sich für ein Huawei-Entwicklerkonto
Bevor Sie beginnen, müssen Sie sich registrieren und ein Huawei-Entwicklerkonto einrichten. Gehen Sie in Ihrem Huawei-Konto zu Meine Projekte > Projekteinstellungen > App-Informationen und notieren Sie sich die App ID und das App secret.

Schritt 2: Erstellen Sie eine neue Huawei-App im Braze-Dashboard
Gehen Sie im Braze-Dashboard zu App-Einstellungen, die unter der Navigation Einstellungen aufgeführt sind.
Klicken Sie auf + App hinzufügen, geben Sie einen Namen an (z. B. My Huawei App) und wählen Sie Android als Plattform.

Sobald Ihre neue Braze-App erstellt wurde, suchen Sie die Einstellungen für Push-Benachrichtigungen und wählen Sie Huawei als Push-Anbieter aus. Geben Sie als Nächstes Ihr Huawei Client Secret und Ihre Huawei App ID an.

Schritt 3: Integrieren Sie das Huawei-Messaging-SDK in Ihre App
Huawei hat ein Android-Integrations-Codelab bereitgestellt, das die Integration des Huawei-Messaging-Dienstes in Ihre Anwendung beschreibt. Folgen Sie diesen Schritten, um loszulegen.
Nachdem Sie das Codelab abgeschlossen haben, müssen Sie einen angepassten Huawei Message Service erstellen, um Push-Token zu erhalten und Nachrichten an das Braze SDK weiterzuleiten.
public class CustomPushService extends HmsMessageService {
@Override
public void onNewToken(String token) {
super.onNewToken(token);
Braze.getInstance(this.getApplicationContext()).setRegisteredPushToken(token);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (BrazeHuaweiPushHandler.handleHmsRemoteMessageData(this.getApplicationContext(), remoteMessage.getDataOfMap())) {
// Braze has handled the Huawei push notification
}
}
}
class CustomPushService: HmsMessageService() {
override fun onNewToken(token: String?) {
super.onNewToken(token)
Braze.getInstance(applicationContext).setRegisteredPushToken(token!!)
}
override fun onMessageReceived(hmsRemoteMessage: RemoteMessage?) {
super.onMessageReceived(hmsRemoteMessage)
if (BrazeHuaweiPushHandler.handleHmsRemoteMessageData(applicationContext, hmsRemoteMessage?.dataOfMap)) {
// Braze has handled the Huawei push notification
}
}
}
Nachdem Sie Ihren angepassten Push-Dienst hinzugefügt haben, fügen Sie Folgendes zu Ihrer AndroidManifest.xml hinzu:
<service
android:name="package.of.your.CustomPushService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
Schritt 4: Vordergrundbenachrichtigungen verarbeiten
Wenn eine Push-Benachrichtigung eingeht, während sich Ihre App im Vordergrund befindet, zeigt Huawei sie standardmäßig automatisch an. Damit Braze die Push-Benachrichtigungsdaten verarbeiten kann (für Analytics-Tracking, Deeplink-Verarbeitung und angepasste Verarbeitung), leiten Sie die eingehenden Push-Daten innerhalb Ihrer HmsMessageService.onMessageReceived-Methode an Braze weiter.
Wenn Sie BrazeHuaweiPushHandler.handleHmsRemoteMessageData aufrufen, ermittelt Braze, ob es sich bei der Nutzlast um eine Braze-Push-Benachrichtigung handelt. Ist dies der Fall, wird die Benachrichtigung erstellt und angezeigt. Weitere Informationen finden Sie unter Vordergrundbenachrichtigungen verarbeiten in der Dokumentation zu Android-Push-Benachrichtigungen.
Ein vollständiges Beispiel finden Sie in der Huawei-Handler-Referenz in der Braze Android SDK-Dokumentation.
Schritt 5: Push-Benachrichtigungen testen (optional)
Zu diesem Zeitpunkt haben Sie im Braze-Dashboard eine neue Huawei-Android-App erstellt, diese mit Ihren Huawei-Entwickler-Zugangsdaten konfiguriert und die SDKs von Braze und Huawei in Ihre App integriert.
Als Nächstes können Sie die Integration testen, indem Sie eine neue Push-Campaign in Braze ausprobieren.
Schritt 5.1: Erstellen Sie eine neue Push-Benachrichtigungs-Campaign
Erstellen Sie auf der Seite Campaigns eine neue Campaign und wählen Sie Push-Benachrichtigung als Nachrichtentyp.
Nachdem Sie Ihre Campaign benannt haben, wählen Sie Android Push als Push-Plattform.

Verfassen Sie als Nächstes Ihre Push-Campaign mit einem Titel und einer Nachricht.
Schritt 5.2: Senden Sie einen Test-Push
Geben Sie im Tab Test Ihre Nutzer:innen-ID ein, die Sie in Ihrer App mit der changeUser(USER_ID_STRING)-Methode festgelegt haben, und klicken Sie auf Test senden, um einen Test-Push zu senden.

Zu diesem Zeitpunkt sollten Sie eine Test-Push-Benachrichtigung von Braze auf Ihrem Huawei-Gerät (HMS) erhalten.
Schritt 5.3: Huawei-Segmentierung einrichten (optional)
Da Ihre Huawei-App im Braze-Dashboard auf der Android-Push-Plattform aufbaut, haben Sie die Flexibilität, Push an alle Android-Nutzer:innen zu senden (Firebase Cloud Messaging und Huawei Mobile Services), oder Sie können die Zielgruppe Ihrer Campaign auf bestimmte Apps segmentieren.
Um Push nur an Huawei-Apps zu senden, erstellen Sie ein neues Segment und wählen Sie Ihre Huawei-App im Abschnitt Apps aus.

Wenn Sie denselben Push an alle Android-Push-Anbieter senden möchten, können Sie natürlich auf die Angabe der App verzichten, sodass der Push an alle im aktuellen Workspace konfigurierten Android-Apps gesendet wird.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das React Native Braze SDK integrieren.
Push-Benachrichtigungen einrichten
1. Schritt: Ersteinrichtung abschließen
Voraussetzungen
Bevor Sie Expo für Push-Benachrichtigungen verwenden können, müssen Sie das Braze Expo Plugin einrichten.
Schritt 1.1: Ihre app.json-Datei aktualisieren
Aktualisieren Sie als Nächstes Ihre app.json-Datei für Android und iOS:
- Android: Fügen Sie die Option
enableFirebaseCloudMessaginghinzu. - iOS: Fügen Sie die Option
enableBrazeIosPushhinzu.
Schritt 1.2: Ihre Google-Absender-ID hinzufügen
Gehen Sie zunächst zur Firebase-Konsole, öffnen Sie Ihr Projekt und wählen Sie dann Settings > Project settings.

Wählen Sie Cloud Messaging und kopieren Sie dann unter Firebase Cloud Messaging API (V1) die Sender ID in Ihre Zwischenablage.

Öffnen Sie als Nächstes die Datei app.json Ihres Projekts und setzen Sie die Eigenschaft firebaseCloudMessagingSenderId auf die Sender ID in Ihrer Zwischenablage. Zum Beispiel:
"firebaseCloudMessagingSenderId": "693679403398"
Schritt 1.3: Den Pfad zu Ihrer Google Services JSON hinzufügen
Fügen Sie in der Datei app.json Ihres Projekts den Pfad zu Ihrer google-services.json-Datei hinzu. Diese Datei wird benötigt, wenn Sie enableFirebaseCloudMessaging: true in Ihrer Konfiguration festlegen.
{
"expo": {
"android": {
"googleServicesFile": "PATH_TO_GOOGLE_SERVICES"
},
"plugins": [
[
"@braze/expo-plugin",
{
"androidApiKey": "YOUR-ANDROID-API-KEY",
"iosApiKey": "YOUR-IOS-API-KEY",
"enableBrazeIosPush": true,
"enableFirebaseCloudMessaging": true,
"firebaseCloudMessagingSenderId": "YOUR-FCM-SENDER-ID",
"androidHandlePushDeepLinksAutomatically": true
}
],
]
}
}
Beachten Sie, dass Sie diese Einstellungen anstelle der nativen Einrichtungsanweisungen verwenden müssen, wenn Sie auf zusätzliche Push-Benachrichtigungsbibliotheken wie Expo Notifications angewiesen sind.
Wenn Sie das Braze Expo Plugin nicht verwenden oder diese Einstellungen stattdessen nativ konfigurieren möchten, Registrieren Sie sich für Push anhand der Anleitung zur nativen Android-Push-Integration.
Wenn Sie das Braze Expo Plugin nicht verwenden oder diese Einstellungen stattdessen nativ konfigurieren möchten, Registrieren Sie sich für Push, indem Sie die folgenden Schritte aus der Anleitung zur nativen iOS-Push-Integration befolgen:
Schritt 1.1: Push-Berechtigungen anfordern
Wenn Sie nicht vorhaben, Push-Berechtigungen beim Start der App anzufordern, lassen Sie den Aufruf requestAuthorizationWithOptions:completionHandler: in Ihrem AppDelegate weg. Fahren Sie dann mit Schritt 2 fort. Andernfalls folgen Sie der nativen iOS-Integrationsanleitung.
Schritt 1.2 (optional): Push-Schlüssel migrieren
Wenn Sie zuvor expo-notifications zur Verwaltung Ihres Push-Schlüssels verwendet haben, führen Sie expo fetch:ios:certs aus dem Stammordner Ihrer Anwendung aus. Dadurch wird Ihr Push-Schlüssel (eine .p8-Datei) heruntergeladen, der dann in das Braze-Dashboard hochgeladen werden kann.
2. Schritt: Berechtigung für Push-Benachrichtigungen anfordern
Verwenden Sie die Methode Braze.requestPushPermission() (verfügbar ab v1.38.0), um die Berechtigung für Push-Benachrichtigungen von Nutzer:innen unter iOS und Android 13+ anzufordern. Bei Android 12 und älter hat diese Methode keine Auswirkung.
Diese Methode erwartet einen erforderlichen Parameter, der angibt, welche Berechtigungen das SDK unter iOS von den Nutzer:innen anfordern soll. Diese Optionen haben keine Auswirkungen auf Android.
const permissionOptions = {
alert: true,
sound: true,
badge: true,
provisional: false
};
Braze.requestPushPermission(permissionOptions);
Schritt 2.1: Auf Push-Benachrichtigungen lauschen (optional)
Sie können zusätzlich Ereignisse abonnieren, bei denen Braze eine eingehende Push-Benachrichtigung erkannt und verarbeitet hat. Verwenden Sie den Listener-Schlüssel Braze.Events.PUSH_NOTIFICATION_EVENT.

Empfangene iOS-Push-Ereignisse werden nur für Benachrichtigungen im Vordergrund sowie für Hintergrundbenachrichtigungen mit content-available ausgelöst. Für Benachrichtigungen, die im beendeten Zustand empfangen werden, oder für Hintergrundbenachrichtigungen ohne das Feld content-available werden sie nicht ausgelöst.
Braze.addListener(Braze.Events.PUSH_NOTIFICATION_EVENT, data => {
console.log(`Push Notification event of type ${data.payload_type} seen. Title ${data.title}\n and deeplink ${data.url}`);
console.log(JSON.stringify(data, undefined, 2));
});
Ereignisfelder für Push-Benachrichtigungen
Eine vollständige Liste der Felder für Push-Benachrichtigungen finden Sie in der folgenden Tabelle:
| Feldname | Typ | Beschreibung |
|---|---|---|
payload_type |
String | Gibt den Nutzlasttyp der Benachrichtigung an. Die beiden Werte, die vom Braze React Native SDK gesendet werden, sind push_opened und push_received. |
url |
String | Gibt die URL an, die durch die Benachrichtigung geöffnet wurde. |
use_webview |
Boolescher Wert | Wenn true, wird die URL in der App in einer modalen Webansicht geöffnet. Wenn false, wird die URL im Browser des Geräts geöffnet. |
title |
String | Stellt den Titel der Benachrichtigung dar. |
body |
String | Stellt den Textkörper oder Inhalt der Benachrichtigung dar. |
summary_text |
String | Stellt den zusammenfassenden Text der Benachrichtigung dar. Dieser wird unter iOS aus subtitle zugeordnet. |
badge_count |
Zahl | Stellt die Badge-Anzahl der Benachrichtigung dar. |
timestamp |
Zahl | Stellt den Zeitpunkt dar, zu dem die Nutzlast von der Anwendung empfangen wurde. |
is_silent |
Boolescher Wert | Wenn true, wird die Nutzlast still empfangen. Einzelheiten zum Senden von stillen Push-Benachrichtigungen unter Android finden Sie unter Stille Push-Benachrichtigungen unter Android. Einzelheiten zum Senden von stillen Push-Benachrichtigungen unter iOS finden Sie unter Stille Push-Benachrichtigungen unter iOS. |
is_braze_internal |
Boolescher Wert | Dies ist true, wenn eine Benachrichtigungsnutzlast für eine interne SDK-Funktion gesendet wurde, wie z. B. die Synchronisierung von Feature-Flags oder das Uninstall-Tracking. Die Nutzlast wird für die Nutzer:innen unbemerkt empfangen. |
image_url |
String | Gibt die URL an, die mit dem Benachrichtigungsbild verknüpft ist. |
braze_properties |
Objekt | Stellt die mit der Campaign verbundenen Braze-Eigenschaften dar (Schlüssel-Wert-Paare). |
ios |
Objekt | Stellt iOS-spezifische Felder dar. |
android |
Objekt | Stellt Android-spezifische Felder dar. |
3. Schritt: Deeplinking aktivieren (optional)
Um Braze in die Lage zu versetzen, Deeplinks innerhalb von React-Komponenten zu verarbeiten, wenn auf eine Push-Benachrichtigung geklickt wird, implementieren Sie zunächst die Schritte, die in der Bibliothek React Native Linking beschrieben sind, oder verwenden Sie die Lösung Ihrer Wahl. Folgen Sie dann den weiteren Schritten unten.
Weitere Informationen zu Deeplinks finden Sie in unserem FAQ-Artikel.

Wenn Sie eine bestehende React Native Push-Integration migrieren, testen Sie das Deeplinking erneut, nachdem Sie das Braze SDK, React Native, Expo oder zugehörige Bibliotheken aktualisiert haben. Stellen Sie sicher, dass:
- React Native Linking weiterhin konfiguriert ist und Ihre Deeplink-URLs verarbeitet.
- Ihre iOS-Verarbeitung der initialen Push-Nutzlast (siehe Schritt 3.1: Push-Benachrichtigungs-Nutzlast beim App-Start speichern) implementiert ist und weiterhin beim App-Start aufgerufen wird.
- Alle nativen Delegate- oder Listener-Methoden, die Sie zur Verarbeitung von Push-Klick-Ereignissen verwenden, weiterhin registriert und wie erwartet aufgerufen werden.
Wenn Sie das Braze Expo Plugin verwenden, können Sie Push-Benachrichtigungs-Deeplinks automatisch verarbeiten, indem Sie androidHandlePushDeepLinksAutomatically in Ihrer app.json auf true setzen.
Um Deeplinks stattdessen manuell zu verarbeiten, lesen Sie die native Android-Dokumentation: Deeplinks hinzufügen.
Schritt 3.1: Push-Benachrichtigungs-Nutzlast beim App-Start speichern

Dies wird ab React Native SDK 19.1.0 unterstützt.
Fügen Sie populateInitialPushPayloadFromIntent zur Methode onCreate() Ihrer Hauptaktivität hinzu. Dies muss vor der Initialisierung von React Native aufgerufen werden, um die ursprünglichen Intent-Daten zu erfassen. Zum Beispiel:
override fun onCreate(savedInstanceState: Bundle?) {
BrazeReactUtils.populateInitialPushPayloadFromIntent(intent)
super.onCreate(savedInstanceState)
}
Schritt 3.2: Deeplinks aus einem geschlossenen Zustand heraus behandeln
Zusätzlich zu den Basisszenarien, die von React Native Linking behandelt werden, implementieren Sie die Methode Braze.getInitialPushPayload und rufen den Wert url ab, um Deeplinks von Push-Benachrichtigungen zu berücksichtigen, die Ihre App öffnen, wenn sie nicht läuft. Zum Beispiel:
// Handles deep links when an app is launched from a hard close via push click.
Braze.getInitialPushPayload(pushPayload => {
if (pushPayload) {
console.log('Braze.getInitialPushPayload is ' + pushPayload);
showToast('Initial URL is ' + pushPayload.url);
handleOpenUrl({ pushPayload.url });
}
});

Für diese Methode ist die native Einrichtung in Schritt 3.1 für Ihre Plattform erforderlich. Wenn Sie das Braze Expo Plugin verwenden, wird dies möglicherweise automatisch abgewickelt.

Um Deeplinks aus Push-Benachrichtigungen unter iOS zu verarbeiten, müssen Sie auch die Link-Verarbeitung in Ihrer nativen iOS-Schicht konfigurieren.
Dazu gehört die Registrierung eines benutzerdefinierten URL-Schemas und die Implementierung eines URL-Handlers in Ihrem AppDelegate. Eine vollständige Einrichtungsanleitung finden Sie unter Deeplinks verarbeiten in der nativen iOS-Dokumentation.
Schritt 3.1: Push-Benachrichtigungs-Nutzlast beim App-Start speichern

Überspringen Sie Schritt 3.1, wenn Sie das Braze Expo Plugin verwenden, da diese Funktionalität automatisch abgewickelt wird.
Fügen Sie für iOS populateInitialPayloadFromLaunchOptions zur Methode didFinishLaunchingWithOptions des AppDelegate hinzu. Zum Beispiel:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// ... Perform regular React Native setup
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:apiKey endpoint:endpoint];
configuration.triggerMinimumTimeInterval = 1;
configuration.logger.level = BRZLoggerLevelInfo;
Braze *braze = [BrazeReactBridge initBraze:configuration];
AppDelegate.braze = braze;
[self registerForPushNotifications];
[[BrazeReactUtils sharedInstance] populateInitialPayloadFromLaunchOptions:launchOptions];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
// ... Perform regular React Native setup
let configuration = Braze.Configuration(apiKey: apiKey, endpoint: endpoint)
configuration.triggerMinimumTimeInterval = 1
configuration.logger.level = .info
let braze = BrazeReactBridge.initBraze(configuration)
AppDelegate.braze = braze
registerForPushNotifications()
BrazeReactUtils.shared().populateInitialPayload(fromLaunchOptions: launchOptions)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
Schritt 3.2: Deeplinks aus einem geschlossenen Zustand heraus behandeln
Zusätzlich zu den Basisszenarien, die von React Native Linking behandelt werden, implementieren Sie die Methode Braze.getInitialPushPayload und rufen den Wert url ab, um Deeplinks von Push-Benachrichtigungen zu berücksichtigen, die Ihre App öffnen, wenn sie nicht läuft. Zum Beispiel:
// Handles deep links when an app is launched from a hard close via push click.
Braze.getInitialPushPayload(pushPayload => {
if (pushPayload) {
console.log('Braze.getInitialPushPayload is ' + pushPayload);
showToast('Initial URL is ' + pushPayload.url);
handleOpenUrl({ pushPayload.url });
}
});

Für diese Methode ist die native Einrichtung in Schritt 3.1 für Ihre Plattform erforderlich. Wenn Sie das Braze Expo Plugin verwenden, wird dies möglicherweise automatisch abgewickelt.
Schritt 3.3: Universal Links aktivieren (optional)
Um die Unterstützung für Universal Links zu aktivieren, implementieren Sie einen Braze-Delegaten, der festlegt, ob eine bestimmte URL geöffnet werden soll, und registrieren Sie diesen anschließend bei Ihrer Braze-Instanz.
Erstellen Sie eine BrazeReactDelegate.swift-Datei in Ihrem iOS-Verzeichnis und fügen Sie Folgendes hinzu. Ersetzen Sie YOUR_DOMAIN_HOST durch Ihre tatsächliche Domain.
import Foundation
import BrazeKit
import UIKit
class BrazeReactDelegate: NSObject, BrazeDelegate {
/// This delegate method determines whether to open a given URL.
/// Reference the context to get additional details about the URL payload.
func braze(_ braze: Braze, shouldOpenURL context: Braze.URLContext) -> Bool {
if let host = context.url.host,
host.caseInsensitiveCompare("YOUR_DOMAIN_HOST") == .orderedSame {
// Sample custom handling of universal links
let application = UIApplication.shared
let userActivity = NSUserActivity(activityType: NSUserActivityTypeBrowsingWeb)
userActivity.webpageURL = context.url
// Routes to the `continueUserActivity` method, which should be handled in your AppDelegate.
application.delegate?.application?(
application,
continue: userActivity,
restorationHandler: { _ in }
)
return false
}
// Let Braze handle links otherwise
return true
}
}
Erstellen und registrieren Sie dann Ihr BrazeReactDelegate in didFinishLaunchingWithOptions der Datei AppDelegate.swift Ihres Projekts.
import BrazeKit
class AppDelegate: UIResponder, UIApplicationDelegate {
static var braze: Braze?
// Keep a strong reference to the BrazeDelegate so it is not deallocated.
private var brazeDelegate: BrazeReactDelegate?
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
// Other setup code (e.g., Braze initialization)
brazeDelegate = BrazeReactDelegate()
AppDelegate.braze?.delegate = brazeDelegate
return true
}
}
Erstellen Sie eine BrazeReactDelegate.h-Datei in Ihrem iOS-Verzeichnis und fügen Sie anschließend das folgende Snippet hinzu.
#import <Foundation/Foundation.h>
#import <BrazeKit/BrazeKit-Swift.h>
@interface BrazeReactDelegate: NSObject<BrazeDelegate>
@end
Erstellen Sie als Nächstes eine Datei BrazeReactDelegate.m und fügen Sie das folgende Code-Snippet ein. Ersetzen Sie YOUR_DOMAIN_HOST durch Ihre tatsächliche Domain.
#import "BrazeReactDelegate.h"
#import <UIKit/UIKit.h>
@implementation BrazeReactDelegate
/// This delegate method determines whether to open a given URL.
///
/// Reference the `BRZURLContext` object to get additional details about the URL payload.
- (BOOL)braze:(Braze *)braze shouldOpenURL:(BRZURLContext *)context {
if ([[context.url.host lowercaseString] isEqualToString:@"YOUR_DOMAIN_HOST"]) {
// Sample custom handling of universal links
UIApplication *application = UIApplication.sharedApplication;
NSUserActivity* userActivity = [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb];
userActivity.webpageURL = context.url;
// Routes to the `continueUserActivity` method, which should be handled in your `AppDelegate`.
[application.delegate application:application
continueUserActivity:userActivity restorationHandler:^(NSArray<id<UIUserActivityRestoring>> * _Nullable restorableObjects) {}];
return NO;
}
// Let Braze handle links otherwise
return YES;
}
@end
Erstellen und registrieren Sie dann Ihr BrazeReactDelegate in didFinishLaunchingWithOptions der Datei AppDelegate.m Ihres Projekts.
#import "BrazeReactUtils.h"
#import "BrazeReactDelegate.h"
@interface AppDelegate ()
// Keep a strong reference to the BrazeDelegate to ensure it is not deallocated.
@property (nonatomic, strong) BrazeReactDelegate *brazeDelegate;
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Other setup code
self.brazeDelegate = [[BrazeReactDelegate alloc] init];
braze.delegate = self.brazeDelegate;
}
Eine beispielhafte Integration finden Sie in unserer Beispiel-App in diesem AppDelegate-Beispiel.
4. Schritt: Vordergrundbenachrichtigungen behandeln
Die Behandlung von Benachrichtigungen im Vordergrund funktioniert je nach Plattform und Konfiguration unterschiedlich. Wählen Sie den Ansatz, der zu Ihrer Integration passt:
Für iOS entspricht die Verarbeitung von Vordergrundbenachrichtigungen der nativen Swift-Integration. Rufen Sie handleForegroundNotification(notification:) innerhalb Ihrer UNUserNotificationCenterDelegate.userNotificationCenter(_:willPresent:withCompletionHandler:)-Implementierung auf.
Ausführliche Informationen und Code-Beispiele finden Sie unter Vordergrundbenachrichtigungen behandeln in der Dokumentation zu Swift-Push-Benachrichtigungen.
Bei Android entspricht die Verarbeitung von Vordergrundbenachrichtigungen der nativen Android-Integration. Rufen Sie BrazeFirebaseMessagingService.handleBrazeRemoteMessage innerhalb Ihrer FirebaseMessagingService.onMessageReceived-Methode auf.
Ausführliche Informationen und Code-Beispiele finden Sie unter Vordergrundbenachrichtigungen behandeln in der Dokumentation zu Android-Push-Benachrichtigungen.
Im von Expo verwalteten Workflow rufen Sie native Benachrichtigungs-Handler nicht direkt auf. Verwenden Sie stattdessen die Expo Notifications API, um die Vordergrunddarstellung zu steuern, während das Braze Expo Plugin die native Verarbeitung automatisch übernimmt.
import * as Notifications from 'expo-notifications';
import Braze from '@braze/react-native-sdk';
// Control foreground presentation in Expo
Notifications.setNotificationHandler({
handleNotification: async () => ({
shouldShowAlert: true, // Show alert while in foreground
shouldPlaySound: false,
shouldSetBadge: false,
}),
});
// React to Braze push events
const subscription = Braze.addListener('pushNotificationEvent', (event) => {
console.log('Braze push event', {
type: event.payload_type, // "push_received" | "push_opened"
title: event.title,
url: event.url,
is_silent: event.is_silent,
});
// Handle deep links, custom behavior, etc.
});
// Handle initial payload when app launches via push
Braze.getInitialPushPayload((payload) => {
if (payload) {
console.log('Initial push payload', payload);
}
});

Im von Expo verwalteten Workflow übernimmt das Braze Expo Plugin automatisch die native Push-Verarbeitung. Sie steuern die UI im Vordergrund über die oben gezeigten Präsentationsoptionen für Expo-Benachrichtigungen.
Für Bare-Workflow-Integrationen verwenden Sie stattdessen die nativen Ansätze für iOS und Android.
5. Schritt: Test-Push-Benachrichtigung senden
Sie sollten nun in der Lage sein, Benachrichtigungen an die Geräte zu senden. Führen Sie die folgenden Schritte durch, um Ihre Push-Integration zu testen.

Ab macOS 13 können Sie auf bestimmten Geräten iOS-Push-Benachrichtigungen mithilfe eines Simulators für iOS 16+ testen, der unter Xcode 14 oder höher läuft. Weitere Einzelheiten finden Sie in den Release Notes zu Xcode 14.
- Setzen Sie eine:n aktive:n Nutzer:in in der React Native-Anwendung, indem Sie die Methode
Braze.changeUserId('your-user-id')aufrufen. - Gehen Sie zu Campaigns und erstellen Sie eine neue Push-Benachrichtigungs-Campaign. Wählen Sie die Plattformen aus, die Sie testen möchten.
- Verfassen Sie Ihre Testbenachrichtigung und wechseln Sie zum Tab Test. Fügen Sie dieselbe
user-idals Testnutzer:in hinzu und klicken Sie auf Send Test. Sie sollten die Benachrichtigung in Kürze auf Ihrem Gerät erhalten.

Verwendung des Expo-Plugins
Nachdem Sie Push-Benachrichtigungen für Expo eingerichtet haben, können Sie damit die folgenden Push-Benachrichtigungsverhalten handhaben—ohne Code in den nativen Android- oder iOS-Schichten schreiben zu müssen.
Android-Push an zusätzliche FMS weiterleiten
Wenn Sie einen zusätzlichen Firebase Messaging Service (FMS) verwenden möchten, können Sie einen Fallback-FMS angeben, der aufgerufen wird, wenn Ihre Anwendung eine Push-Benachrichtigung empfängt, die nicht von Braze stammt. Zum Beispiel:
{
"expo": {
"plugins": [
[
"@braze/expo-plugin",
{
...
"androidFirebaseMessagingFallbackServiceEnabled": true,
"androidFirebaseMessagingFallbackServiceClasspath": "com.company.OurFirebaseMessagingService"
}
]
]
}
}
App-Extensions mit Expo Application Services verwenden
Wenn Sie Expo Application Services (EAS) verwenden und enableBrazeIosRichPush oder enableBrazeIosPushStories aktiviert haben, müssen Sie die entsprechenden Bundle-Identifier für jede App-Extension in Ihrem Projekt deklarieren. Es gibt mehrere Möglichkeiten, diesen Schritt durchzuführen, je nachdem, wie Ihr Projekt für die Code-Signierung mit EAS konfiguriert ist.
Ein Ansatz besteht darin, die appExtensions-Konfiguration in Ihrer app.json-Datei zu verwenden, indem Sie der App-Extensions-Dokumentation von Expo folgen. Alternativ können Sie die multitarget-Einstellung in Ihrer credentials.json-Datei einrichten, indem Sie der Dokumentation zu lokalen Zugangsdaten von Expo folgen.
Fehlerbehebung
Dies sind häufige Schritte zur Fehlerbehebung bei Push-Benachrichtigungs-Integrationen mit dem Braze React Native SDK und dem Expo-Plugin.
Push-Benachrichtigungen funktionieren nicht mehr
Wenn Push-Benachrichtigungen über das Expo-Plugin nicht mehr funktionieren:
- Überprüfen Sie, ob das Braze SDK weiterhin Sitzungen erfasst.
- Überprüfen Sie, ob das SDK nicht durch einen expliziten oder impliziten Aufruf von
wipeDatadeaktiviert wurde. - Prüfen Sie kürzlich durchgeführte Upgrades von Expo oder den zugehörigen Bibliotheken, da es Konflikte mit Ihrer Braze-Konfiguration geben kann.
- Überprüfen Sie kürzlich hinzugefügte Projektabhängigkeiten und prüfen Sie, ob diese Ihre bestehenden Push-Benachrichtigungs-Delegate-Methoden manuell überschreiben.

Für iOS-Integrationen können Sie auch unser Tutorial zur Einrichtung von Push-Benachrichtigungen heranziehen, um mögliche Konflikte mit Ihren Projektabhängigkeiten zu identifizieren.
Geräte-Token wird nicht bei Braze registriert
Wenn sich Ihr Geräte-Token nicht bei Braze registrieren lässt, lesen Sie zunächst den Abschnitt Push-Benachrichtigungen funktionieren nicht mehr.
Wenn das Problem weiterhin besteht, gibt es möglicherweise eine separate Abhängigkeit, die Ihre Braze-Push-Benachrichtigungskonfiguration beeinträchtigt. Sie können versuchen, diese zu entfernen, oder stattdessen manuell Braze.registerPushToken aufrufen.
Deeplinks aus Push-Benachrichtigungen werden nicht geöffnet
Wenn Deeplinks aus Push-Benachrichtigungen nach einer Migration nicht mehr geöffnet werden, überprüfen Sie Folgendes:
- Stellen Sie sicher, dass Ihre React Native Linking-Einrichtung in Ihrer aktualisierten App noch gültig ist.
- Bestätigen Sie bei nativen iOS-Integrationen, dass Sie
populateInitialPayloadFromLaunchOptionsundBraze.getInitialPushPayloadimplementiert haben, damit die App beim Start aus einem beendeten Zustand den initialen Push-Payload abrufen und dessenurlan Ihren Deeplink-Handler übergeben kann. - Wenn Sie das Braze Expo-Plugin verwenden, überprüfen Sie, ob
androidHandlePushDeepLinksAutomaticallyfür Ihre Implementierung korrekt konfiguriert ist. - Überprüfen Sie kürzlich hinzugefügte Abhängigkeiten auf Überschreibungen der Benachrichtigungsverarbeitung oder des App-Delegate-Verhaltens.
Wenn Sie diese Überprüfungen abgeschlossen haben und das Problem weiterhin besteht, eröffnen Sie ein Support-Ticket und fügen Sie SDK-Logs sowie Reproduktionsschritte bei.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Internet Braze SDK integrieren. Außerdem müssen Sie Push-Benachrichtigungen für das Web-SDK einrichten. Beachten Sie, dass Sie Push-Benachrichtigungen nur an iOS- und iPadOS-Nutzer:innen senden können, die Safari v16.4 oder höher verwenden.
Safari-Push für Mobilgeräte einrichten
Schritt 1: Eine Manifest-Datei erstellen
Ein Web Application Manifest ist eine JSON-Datei, die steuert, wie Ihre Website dargestellt wird, wenn sie auf dem Startbildschirm eines Nutzers bzw. einer Nutzerin installiert wird.
Sie können beispielsweise die Hintergrund-Designfarbe und das Symbol festlegen, das der App Switcher verwendet, ob die App im Vollbildmodus angezeigt wird, um einer nativen App zu ähneln, oder ob die App im Quer- oder Hochformat geöffnet werden soll.
Erstellen Sie eine neue manifest.json-Datei im Stammverzeichnis Ihrer Website mit den folgenden Pflichtfeldern.
{
"name": "your app name",
"short_name": "your app name",
"display": "fullscreen",
"icons": [{
"src": "favicon.ico",
"sizes": "128x128",
}]
}
Die vollständige Liste der unterstützten Felder finden Sie in der MDN-Dokumentation zum Web App Manifest.
Schritt 2: Die Manifest-Datei verknüpfen
Fügen Sie das folgende <link>-Tag zum <head>-Element Ihrer Website hinzu, das auf den Speicherort Ihrer Manifest-Datei verweist.
<link rel="manifest" href="/manifest.json" />
Schritt 3: Einen Service Worker hinzufügen
Ihre Website muss über eine Service-Worker-Datei verfügen, die die Braze-Service-Worker-Bibliothek importiert, wie in unserem Leitfaden zur Web-Push-Integration beschrieben.
Schritt 4: Zum Startbildschirm hinzufügen
Gängige Browser (wie Safari, Chrome, FireFox und Edge) unterstützen Web-Push-Benachrichtigungen in ihren neueren Versionen. Um eine Push-Berechtigung unter iOS oder iPadOS anzufordern, muss Ihre Website zum Startbildschirm der Nutzer:innen hinzugefügt werden, indem Sie Teilen > Zum Home-Bildschirm auswählen. Zum Home-Bildschirm ermöglicht es Nutzer:innen, Ihre Website als Lesezeichen zu speichern und Ihr Symbol auf dem Startbildschirm hinzuzufügen.

Schritt 5: Die native Push-Eingabeaufforderung anzeigen
Nachdem die App zu Ihrem Startbildschirm hinzugefügt wurde, können Sie eine Push-Berechtigung anfordern, wenn Nutzer:innen eine Aktion ausführen (z. B. auf einen Button klicken). Dies kann mit der requestPushPermission-Methode oder mit einer codefreien Push-Primer-In-App-Nachricht erfolgen.

Nachdem Sie die Eingabeaufforderung akzeptiert oder abgelehnt haben, müssen Sie die Website von Ihrem Startbildschirm löschen und erneut installieren, um die Eingabeaufforderung wieder anzeigen zu können.

Zum Beispiel:
import { requestPushPermission } from "@braze/web-sdk";
button.onclick = function(){
requestPushPermission(() => {
console.log(`User accepted push prompt`);
}, (temporary) => {
console.log(`User ${temporary ? "temporarily dismissed" : "permanently denied"} push prompt`);
});
};
Nächste Schritte
Senden Sie sich als Nächstes eine Testnachricht, um die Integration zu validieren. Nachdem Ihre Integration abgeschlossen ist, können Sie unsere No-Code-Push-Primer-Nachrichten verwenden, um Ihre Push-Opt-in-Raten zu optimieren.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Unity Braze SDK integrieren.
Push-Benachrichtigungen einrichten
1. Schritt: Plattform einrichten
Schritt 1.1: Firebase aktivieren
Um loszulegen, folgen Sie der Dokumentation zur Einrichtung von Firebase Unity.

Durch die Integration des Firebase Unity SDK kann Ihre AndroidManifest.xml überschrieben werden. Stellen Sie in diesem Fall sicher, dass Sie die ursprüngliche Datei wiederherstellen.
Schritt 1.2: Firebase-Zugangsdaten festlegen
Sie müssen den Firebase-Serverschlüssel und die Sender-ID in das Braze-Dashboard eingeben. Melden Sie sich dazu in der Firebase Developers Console an und wählen Sie Ihr Firebase-Projekt aus. Wählen Sie dann unter Settings die Option Cloud Messaging und kopieren Sie den Serverschlüssel und die Sender-ID:
Wählen Sie in Braze Ihre Android-App auf der Seite App Settings unter Einstellungen verwalten aus. Geben Sie anschließend Ihren Firebase-Serverschlüssel in das Feld Firebase Cloud Messaging Server Key und die Firebase-Sender-ID in das Feld Firebase Cloud Messaging Sender ID ein.

Schritt 1.1: Integrationsmethode überprüfen
Braze bietet eine native Unity-Lösung für die Automatisierung von iOS-Push-Integrationen. Wenn Sie Ihre Integration stattdessen manuell einrichten und verwalten möchten, lesen Sie Swift: Push-Benachrichtigungen.
Andernfalls fahren Sie mit dem nächsten Schritt fort.

Unsere Lösung für automatische Push-Benachrichtigungen nutzt die Funktion „Provisorische Autorisierung“ von iOS 12 und kann nicht mit dem nativen Push-Prompt-Pop-up verwendet werden.
Schritt 1.1: ADM aktivieren
- Erstellen Sie ein Konto im Amazon Apps & Games Developer Portal, falls Sie dies noch nicht getan haben.
- Holen Sie sich die OAuth-Zugangsdaten (Client-ID und Client Secret) und einen ADM-API-Schlüssel.
- Aktivieren Sie Automatic ADM Registration Enabled im Unity-Braze-Konfigurationsfenster.
- Alternativ können Sie die folgende Zeile in Ihre
res/values/braze.xml-Datei einfügen, um die ADM-Registrierung zu aktivieren:
- Alternativ können Sie die folgende Zeile in Ihre
<bool name="com_braze_push_adm_messaging_registration_enabled">true</bool>
2. Schritt: Push-Benachrichtigungen konfigurieren
Schritt 2.1: Push-Einstellungen konfigurieren
Das Braze SDK kann die Push-Registrierung bei den Firebase Cloud Messaging-Servern automatisch übernehmen, damit Geräte Push-Benachrichtigungen empfangen können. Aktivieren Sie in Unity Automate Unity Android Integration und konfigurieren Sie dann die folgenden Push Notification-Einstellungen.
| Einstellung | Beschreibung |
|---|---|
| Automatic Firebase Cloud Messaging Registration Enabled | Weist das Braze SDK an, automatisch ein FCM-Push-Token für ein Gerät abzurufen und zu senden. |
| Firebase Cloud Messaging Sender ID | Die Sender-ID aus Ihrer Firebase-Konsole. |
| Handle Push Deeplinks Automatically | Gibt an, ob das SDK das Öffnen von Deeplinks oder das Öffnen der App beim Klicken auf Push-Benachrichtigungen verarbeiten soll. |
| Small Notification Icon Drawable | Android-Drawable-Ressourcenreferenz für das kleine Symbol, das beim Empfang einer Push-Benachrichtigung angezeigt wird. Geben Sie die vollständige Referenz einschließlich des Präfixes @drawable/ ein (z. B. @drawable/hourglass_icon). Die automatisierte Integration schreibt diesen Wert wie eingegeben in braze.xml. Wenn Sie dieses Feld leer lassen, verwendet die Benachrichtigung das Anwendungssymbol als kleines Symbol. |
| Large Notification Icon Drawable | Optionales großes Symbol für Benachrichtigungen. Verwenden Sie dasselbe @drawable/-Format wie beim kleinen Symbol (z. B. @drawable/my_large_icon). |

Small Notification Icon Drawable und Large Notification Icon Drawable befinden sich unter Push Configuration in Braze > Braze Configuration. Beide Werte werden wie eingegeben in braze.xml geschrieben. Fügen Sie das Präfix @drawable/ selbst hinzu – die Braze-Unity-Integration ergänzt es nicht automatisch (z. B. <drawable name="com_braze_push_small_notification_icon">@drawable/hourglass_icon</drawable>).
Schritt 2.1: APNs-Token hochladen
Bevor Sie eine iOS-Push-Benachrichtigung mit Braze senden können, müssen Sie Ihre .p8-Push-Benachrichtigungsdatei hochladen, wie in der Entwicklerdokumentation von Apple beschrieben:
- Gehen Sie in Ihrem Apple-Entwickler-Account zu Certificates, Identifiers & Profiles.
- Wählen Sie unter Keys die Option All aus und klicken Sie auf die Schaltfläche „Hinzufügen“ (+) oben auf der Seite.
- Geben Sie unter Key Description einen eindeutigen Namen für den Signierschlüssel ein.
- Aktivieren Sie unter Key Services das Kontrollkästchen Apple Push Notification service (APNs) und klicken Sie dann auf Continue. Klicken Sie auf Confirm.
- Notieren Sie sich die Key-ID. Klicken Sie auf Download, um den Schlüssel zu generieren und herunterzuladen. Stellen Sie sicher, dass Sie die heruntergeladene Datei an einem sicheren Ort speichern, da Sie sie nur einmal herunterladen können.
- Gehen Sie in Braze zu Einstellungen > App-Einstellungen und laden Sie die
.p8-Datei unter Apple Push Certificate hoch. Sie können entweder Ihr Entwicklungs- oder Ihr Produktions-Push-Zertifikat hochladen. Um Push-Benachrichtigungen zu testen, nachdem Ihre App im App Store live ist, empfiehlt es sich, einen separaten Workspace für die Entwicklungsversion Ihrer App einzurichten. - Wenn Sie dazu aufgefordert werden, geben Sie die Bundle-ID, die Key-ID und die Team-ID Ihrer App ein. Sie müssen außerdem angeben, ob Benachrichtigungen an die Entwicklungs- oder die Produktionsumgebung Ihrer App gesendet werden sollen. Dies wird durch das Bereitstellungsprofil Ihrer App festgelegt.
- Wenn Sie fertig sind, wählen Sie Speichern aus.
Schritt 2.2: Automatischen Push aktivieren
Öffnen Sie die Braze-Konfigurationseinstellungen im Unity-Editor, indem Sie zu Braze > Braze Configuration navigieren.
Aktivieren Sie Integrate Push With Braze, um Nutzer:innen automatisch für Push-Benachrichtigungen zu registrieren, Push-Token an Braze weiterzugeben, Analytics für Push-Öffnungen zu verfolgen und die Vorteile unserer standardmäßigen Push-Benachrichtigungsverarbeitung zu nutzen.
Schritt 2.3: Hintergrund-Push aktivieren (optional)
Aktivieren Sie Enable Background Push, wenn Sie background mode für Push-Benachrichtigungen aktivieren möchten. Dadurch kann das System Ihre Anwendung aus dem Zustand suspended aufwecken, wenn eine Push-Benachrichtigung eintrifft, sodass Ihre Anwendung als Reaktion auf Push-Benachrichtigungen Inhalte herunterladen kann. Das Aktivieren dieser Option ist für unsere Uninstall-Tracking-Funktion erforderlich.

Schritt 2.4: Automatische Registrierung deaktivieren (optional)
Nutzer:innen, die sich noch nicht für Push-Benachrichtigungen entschieden haben, werden beim Öffnen Ihrer Anwendung automatisch für Push autorisiert. Um diese Funktion zu deaktivieren und Nutzer:innen manuell für Push zu registrieren, aktivieren Sie Disable Automatic Push Registration.
- Wenn Disable Provisional Authorization unter iOS 12 oder höher nicht aktiviert ist, werden Nutzer:innen vorläufig (stillschweigend) für den Empfang stiller Push-Benachrichtigungen autorisiert. Wenn diese Option aktiviert ist, wird den Nutzer:innen der native Push-Prompt angezeigt.
- Wenn Sie genau konfigurieren möchten, wann der Prompt zur Laufzeit angezeigt werden soll, deaktivieren Sie die automatische Registrierung im Braze-Konfigurationseditor und verwenden Sie stattdessen
AppboyBinding.PromptUserForPushPermissions().

Schritt 2.1: AndroidManifest.xml aktualisieren
Wenn Ihre App keine AndroidManifest.xml hat, können Sie die folgende Vorlage verwenden. Wenn Sie bereits eine AndroidManifest.xml haben, stellen Sie sicher, dass alle fehlenden Abschnitte zu Ihrer bestehenden AndroidManifest.xml hinzugefügt werden.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="REPLACE_WITH_YOUR_PACKAGE_NAME">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<permission
android:name="REPLACE_WITH_YOUR_PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="REPLACE_WITH_YOUR_PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE" />
<uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />
<application android:icon="@drawable/app_icon"
android:label="@string/app_name">
<!-- Calls the necessary Braze methods to ensure that analytics are collected and that push notifications are properly forwarded to the Unity application. -->
<activity android:name="com.braze.unity.BrazeUnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="sensor">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.braze.push.BrazeAmazonDeviceMessagingReceiver" android:permission="com.amazon.device.messaging.permission.SEND">
<intent-filter>
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
<category android:name="REPLACE_WITH_YOUR_PACKAGE_NAME" />
</intent-filter>
</receiver>
</application>
</manifest>
Schritt 2.2: ADM-API-Schlüssel speichern
Zunächst generieren Sie einen ADM-API-Schlüssel für Ihre App und speichern den Schlüssel in einer Datei namens api_key.txt. Fügen Sie diese dann in das Assets/-Verzeichnis Ihres Projekts ein.

Amazon erkennt Ihren Schlüssel nicht, wenn api_key.txt Leerzeichen enthält, z. B. einen Zeilenumbruch am Ende.
Fügen Sie anschließend in Ihrer mainTemplate.gradle-Datei Folgendes hinzu:
task copyAmazon(type: Copy) {
def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
from unityProjectPath + '/Assets/api_key.txt'
into new File(projectDir, 'src/main/assets')
}
preBuild.dependsOn(copyAmazon)
Schritt 2.3: ADM-Jar hinzufügen
Die erforderliche ADM-Jar-Datei kann gemäß der Unity-JAR-Dokumentation an beliebiger Stelle in Ihrem Projekt platziert werden.
Schritt 2.4: Client Secret und Client-ID zum Braze-Dashboard hinzufügen
Abschließend müssen Sie das Client Secret und die Client-ID, die Sie in Schritt 1 erhalten haben, auf der Seite Einstellungen verwalten des Braze-Dashboards hinzufügen.

3. Schritt: Push-Listener einrichten
Schritt 3.1: Push-Empfangs-Listener aktivieren
Der Push-Empfangs-Listener wird ausgelöst, wenn Nutzer:innen eine Push-Benachrichtigung empfangen. Um die Push-Nutzlast an Unity zu senden, legen Sie den Namen Ihres Spielobjekts und die Callback-Methode des Push-Empfangs-Listeners unter Set Push Received Listener fest.
Schritt 3.2: Push-Öffnungs-Listener aktivieren
Der Push-Öffnungs-Listener wird ausgelöst, wenn Nutzer:innen die App durch Klicken auf eine Push-Benachrichtigung starten. Um die Push-Nutzlast an Unity zu senden, legen Sie den Namen Ihres Spielobjekts und die Callback-Methode des Push-Öffnungs-Listeners unter Set Push Opened Listener fest.
Schritt 3.3: Push-Löschungs-Listener aktivieren
Der Push-Löschungs-Listener wird ausgelöst, wenn Nutzer:innen eine Push-Benachrichtigung wegwischen oder verwerfen. Um die Push-Nutzlast an Unity zu senden, legen Sie den Namen Ihres Spielobjekts und die Callback-Methode des Push-Löschungs-Listeners unter Set Push Deleted Listener fest.
Beispiel für Push-Listener
Das folgende Beispiel implementiert das Spielobjekt BrazeCallback mit den Callback-Methoden PushNotificationReceivedCallback, PushNotificationOpenedCallback bzw. PushNotificationDeletedCallback.

public class MainMenu : MonoBehaviour {
void PushNotificationReceivedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationReceivedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification received: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push received Notification event: " + pushNotification);
#endif
}
void PushNotificationOpenedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationOpenedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification opened: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push opened Notification event: " + pushNotification);
#endif
}
void PushNotificationDeletedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationDeletedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification dismissed: " + pushNotification);
#endif
}
}
Schritt 3.1: Push-Empfangs-Listener aktivieren
Der Push-Empfangs-Listener wird ausgelöst, wenn Nutzer:innen eine Push-Benachrichtigung empfangen, während sie die Anwendung aktiv nutzen (z. B. wenn sich die App im Vordergrund befindet). Legen Sie den Push-Empfangs-Listener im Braze-Konfigurationseditor fest. Wenn Sie den Spielobjekt-Listener zur Laufzeit konfigurieren müssen, verwenden Sie AppboyBinding.ConfigureListener() und geben Sie BrazeUnityMessageType.PUSH_RECEIVED an.

Schritt 3.2: Push-Öffnungs-Listener aktivieren
Der Push-Öffnungs-Listener wird ausgelöst, wenn Nutzer:innen die App durch Klicken auf eine Push-Benachrichtigung starten. Um die Push-Nutzlast an Unity zu senden, legen Sie den Namen Ihres Spielobjekts und die Callback-Methode des Push-Öffnungs-Listeners unter der Option Set Push Opened Listener fest:

Wenn Sie den Spielobjekt-Listener zur Laufzeit konfigurieren müssen, verwenden Sie AppboyBinding.ConfigureListener() und geben Sie BrazeUnityMessageType.PUSH_OPENED an.
Beispiel für Push-Listener
Das folgende Beispiel implementiert das Spielobjekt AppboyCallback mit den Callback-Methoden PushNotificationReceivedCallback bzw. PushNotificationOpenedCallback.

public class MainMenu : MonoBehaviour {
void PushNotificationReceivedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationReceivedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification received: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push received Notification event: " + pushNotification);
#endif
}
void PushNotificationOpenedCallback(string message) {
#if UNITY_ANDROID
Debug.Log("PushNotificationOpenedCallback message: " + message);
PushNotification pushNotification = new PushNotification(message);
Debug.Log("Push Notification opened: " + pushNotification);
#elif UNITY_IOS
ApplePushNotification pushNotification = new ApplePushNotification(message);
Debug.Log("Push opened Notification event: " + pushNotification);
#endif
}
}
Durch das Aktualisieren Ihrer AndroidManifest.xml im vorherigen Schritt wurden Push-Listener automatisch eingerichtet, als Sie die folgenden Zeilen hinzugefügt haben. Es ist also keine weitere Einrichtung erforderlich.
<action android:name="com.amazon.device.messaging.intent.RECEIVE" />
<action android:name="com.amazon.device.messaging.intent.REGISTRATION" />

Weitere Informationen zu ADM-Push-Listenern finden Sie unter Amazon: Amazon Device Messaging integrieren.
Optionale Konfigurationen
Deeplinking zu In-App-Ressourcen
Obwohl Braze standardmäßig Standard-Deeplinks (wie Website-URLs, Android-URIs usw.) verarbeiten kann, ist für die Erstellung angepasster Deeplinks eine zusätzliche Manifest-Einrichtung erforderlich.
Eine Anleitung zur Einrichtung finden Sie unter Deeplinking zu In-App-Ressourcen.
Braze-Push-Benachrichtigungssymbole hinzufügen

Fügen Sie keine Benachrichtigungssymbol-Bilder unter Assets/Plugins/Android/res hinzu. Unity hat die Bereitstellung von Android-Ressourcen in diesem Pfad als veraltet markiert, was zu Build-Warnungen oder Validierungsfehlern führen kann. Packen Sie Ihre Symbol-Drawables stattdessen in ein Android-Archive-Plug-in (AAR) oder ein Android-Bibliotheksprojekt, damit sie wie jedes andere Drawable in die Ressourcen der erstellten App eingebunden werden.
Um Ihrem Projekt Push-Symbole hinzuzufügen, erstellen Sie ein AAR-Plug-in oder eine Android-Bibliothek, die die Bilddateien für die Symbole unter res/drawable* (oder dichteabhängigen Ordnern) enthält, und referenzieren Sie jedes Symbol in Braze > Braze Configuration mit dem vollständigen @drawable/-Ressourcennamen (siehe Schritt 2.1: Push-Einstellungen konfigurieren). Informationen zu den Paketierungs- und Importschritten in Unity finden Sie unter Android-Library-Projekte und Android-Archive-Plug-ins.
Informationen zu den Gestaltungsregeln für kleine Symbole (nur Alpha-Kanal, keine Farbe) finden Sie unter Android-Push-Benachrichtigungen, Schritt 2: Kleine Symbole an die Designrichtlinien anpassen.
Push-Token-Callback
Um eine Kopie der Braze-Geräte-Token vom Betriebssystem zu erhalten, setzen Sie einen Delegaten mit AppboyBinding.SetPushTokenReceivedFromSystemDelegate().
Derzeit gibt es keine optionalen Konfigurationen für ADM.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das .NET MAUI Braze SDK integrieren.
Push-Benachrichtigungen einrichten

In unserer Xample-Beispielanwendung auf GitHub können Sie sehen, wie sich Namespaces zwischen Java und C# ändern.
Um Push-Benachrichtigungen für .NET MAUI (ehemals Xamarin) zu integrieren, müssen Sie die Schritte für native Android-Push-Benachrichtigungen ausführen. Die folgenden Schritte sind nur eine Zusammenfassung. Eine vollständige Anleitung finden Sie in der Anleitung für native Push-Benachrichtigungen.
Schritt 1: Aktualisieren Sie Ihr Projekt
- Fügen Sie Firebase zu Ihrem Android-Projekt hinzu.
- Fügen Sie die Cloud Messaging-Bibliothek zu
build.gradleIhres Android-Projekts hinzu:implementation "google.firebase:firebase-messaging:+"
Schritt 2: Erstellen Sie Ihre JSON-Anmeldeinformationen
- Aktivieren Sie in Google Cloud die Firebase Cloud Messaging API.
- Wählen Sie Servicekonten > Ihr Projekt > Servicekonto erstellen und geben Sie dann den Namen, die ID und die Beschreibung eines Servicekontos ein. Wenn Sie fertig sind, wählen Sie Erstellen und fahren Sie fort.
- Suchen Sie im Feld Rolle nach Firebase Cloud Messaging API Admin und wählen Sie es in der Liste der Rollen aus.
- Wählen Sie in Servicekonten Ihr Projekt und wählen Sie dann Aktionen > Schlüssel verwalten > Schlüssel hinzufügen > Neuen Schlüssel erstellen. Wählen Sie JSON und wählen Sie dann Erstellen.
Schritt 3: Laden Sie Ihre JSON-Anmeldedaten hoch
- Wählen Sie in Braze Einstellungen > App-Einstellungen. Wählen Sie unter den Push-Benachrichtigungseinstellungen Ihrer Android-App Firebase, dann JSON-Datei hochladen und laden Sie die zuvor generierten Anmeldeinformationen hoch. Wenn Sie fertig sind, wählen Sie Speichern.
- Aktivieren Sie in der Firebase-Konsole die automatische FCM-Token-Registrierung. Öffnen Sie Ihr Projekt und wählen Sie dann Einstellungen > Projekteinstellungen. Wählen Sie Cloud Messaging und kopieren Sie dann unter Firebase Cloud Messaging API (V1) die Nummer in das Feld Absender-ID.
- Fügen Sie Folgendes zur
braze.xmlIhres Android Studio-Projekts hinzu.
<bool translatable="false" name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
<string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">FIREBASE_SENDER_ID</string>

Um zu verhindern, dass Braze jedes Mal, wenn Sie stille Push-Benachrichtigungen senden, unnötige Netzwerkanfragen auslöst, entfernen Sie alle automatischen Netzwerkanfragen, die in der Methode onCreate() der Klasse Application konfiguriert sind. Weitere Informationen finden Sie unter Android Developer Reference: Application.
Schritt 1: Vervollständigen Sie die Ersteinrichtung
In den Anleitungen zur Swift-Integration finden Sie Informationen zum Einrichten Ihrer Anwendung mit Push und zum Speichern Ihrer Anmeldedaten auf unserem Server. Weitere Einzelheiten finden Sie in der iOS MAUI Beispielanwendung.
Schritt 2: Genehmigung für Push-Benachrichtigungen anfordern
Unser .NET MAUI SDK unterstützt nun die automatische Push-Einrichtung. Richten Sie die Push-Automatisierung und die Berechtigungen ein, indem Sie den folgenden Code zur Konfiguration Ihrer Braze-Instanz hinzufügen:
configuration.Push.Automation = new BRZConfigurationPushAutomation(true);
configuration.Push.Automation.RequestAuthorizationAtLaunch = false;
Weitere Einzelheiten finden Sie in der iOS MAUI Beispielanwendung. Weitere Einzelheiten finden Sie in der Xamarin-Dokumentation für Enhanced User Notifications in Xamarin.iOS.