Datenerfassung verwalten
Erfahren Sie, wie Sie die Datenerfassung für das Braze SDK verwalten, damit Sie bei Bedarf alle Datenschutzbestimmungen einhalten können.
Deaktivieren des Daten-Trackings

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.
Um die Daten-Tracking-Aktivität im Web SDK zu deaktivieren, verwenden Sie die Methode disableSDK(). Dadurch werden alle Daten synchronisiert, die vor dem Aufruf von disableSDK() protokolliert wurden, und alle nachfolgenden Aufrufe des Braze Web SDK für diese Seite und zukünftige Seitenaufrufe werden ignoriert.
Verwenden Sie den Tag-Typ Disable Tracking oder Resume Tracking, um das Web-Tracking zu deaktivieren bzw. wieder zu aktivieren. Diese beiden Optionen rufen disableSDK und enableSDK auf.
Best Practices
Um Nutzer:innen die Möglichkeit zu geben, das Tracking zu beenden, empfehlen wir, eine einfache Seite mit zwei Links oder Buttons zu erstellen: einen, der beim Klicken disableSDK() aufruft, und einen weiteren, der enableSDK() aufruft, damit Nutzer:innen sich wieder anmelden können. Sie können diese Steuerelemente auch verwenden, um das Tracking über andere Daten-Subprozessoren zu starten oder zu stoppen.

Das Braze SDK muss nicht initialisiert sein, um disableSDK() aufzurufen, sodass Sie das Tracking für vollständig anonyme Nutzer:innen deaktivieren können. Umgekehrt initialisiert enableSDK() das Braze SDK nicht, sodass Sie anschließend auch initialize() aufrufen müssen, um das Tracking zu aktivieren.
Wiederaufnahme des Trackings von Daten
Um die Datenerfassung wieder aufzunehmen, können Sie die enableSDK()-Methode verwenden.
Abmelden und Push-Registrierung aufheben
Das Braze SDK stellt Methoden bereit, um ein Gerät nicht mehr anzusprechen, wenn Nutzer:innen sich von Push-Benachrichtigungen abmelden oder sich ausloggen. Diese Methoden entfernen die Push-Registrierungsdaten der/des aktuellen Nutzer:in auf dem Braze-Server und im SDK, sodass Braze keine zukünftigen Push-Benachrichtigungs-Campaigns mehr an diese:n Nutzer:in sendet.
Abmelden
Wenn sich Nutzer:innen aus einer Anwendung abmelden, rufen Sie die logout-Methode des SDK auf, um die Push-Registrierung des Geräts von der/dem aktuellen Nutzer:in zu entfernen und automatisch Bereinigungsaktionen im SDK durchzuführen. Die logout-Methode führt Folgendes aus:
- Hebt die Registrierung des Push-Tokens des Geräts bei der/dem aktuellen Nutzer:in auf dem Braze-Server auf.
- Wenn der Aufruf zur Aufhebung der Registrierung erfolgreich ist, löscht das SDK lokal gespeicherte SDK-Daten und deaktiviert das SDK.
- Bei einem Fehler wird der
errorCallbackaufgerufen, damit die Integration entsprechende Maßnahmen ergreifen kann.
Das folgende Beispiel zeigt die Callback-basierte logout-Behandlung. Verwenden Sie es, wenn Sie eine sofortige Erfolgs- und Fehlerbehandlung benötigen, und ersetzen Sie das Logging durch Ihren App-Ablauf.
1
2
3
4
5
6
7
8
9
10
11
import { logout } from "@braze/web-sdk";
const successCallback = () => {
console.log('Successfully logged out');
};
const errorCallback = () => {
console.log('Failed to log out');
};
logout(successCallback, errorCallback);
Tracking und Push nach logout wieder aktivieren
Rufen Sie nach einem erfolgreichen logout enableSDK() auf und registrieren Sie sich dann erneut für Benachrichtigungen bei Ihrem Betriebssystem oder Push-Anbieter, indem Sie der Anleitung unter Web-Push-Einrichtung folgen.
Sofortige Aufrufe zur Aufhebung der Registrierung vermeiden
Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund der asynchronen Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-Token erneut der/dem Braze-Nutzer:in hinzugefügt wird.
Push-Registrierung aufheben
Um den Push-Versand an ein Gerät ohne zusätzliche automatische Bereinigung zu stoppen, verwenden Sie die unregisterPush-Methode. Diese entfernt das Push-Token des Geräts von der/dem aktuellen Nutzer:in auf dem Braze-Server und löscht das lokal gespeicherte Token.
Das folgende Beispiel zeigt die Callback-basierte unregisterPush-Behandlung. Verwenden Sie es, wenn Sie eine sofortige Erfolgs- und Fehlerbehandlung benötigen, und ersetzen Sie das Logging durch Ihren App-Ablauf.
1
2
3
4
5
6
7
8
9
10
11
import { unregisterPush } from "@braze/web-sdk";
const successCallback = () => {
console.log('Successfully unregistered from push');
};
const errorCallback = () => {
console.log('Failed to unregister from push');
};
unregisterPush(successCallback, errorCallback);
Push nach unregisterPush erneut registrieren
Registrieren Sie sich nach dem Aufruf von unregisterPush erneut für Benachrichtigungen bei Ihrem Betriebssystem oder Push-Anbieter, indem Sie der Anleitung unter Web-Push-Einrichtung folgen, bevor Sie erneut Braze-Push-Benachrichtigungen senden.

In unterstützten Browsern hebt unregisterPush bei einer aktiven Push-Subscription auch die Registrierung des von Braze verwalteten Service-Workers auf, nachdem die Abmeldung von der Browser-Push-API erfolgt ist. Wenn Sie manageServiceWorkerExternally auf true setzen, hebt das SDK die Registrierung des Service-Workers nicht für Sie auf.
Sofortige Aufrufe zur Aufhebung der Registrierung vermeiden
Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund der asynchronen Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-Token erneut der/dem Braze-Nutzer:in hinzugefügt wird.
Fragebogen zum Datenschutz bei Google Play
Ab April 2022 müssen Android-Entwickler:innen das Google-Play-Formular für Datensicherheit ausfüllen, um Datenschutz- und Sicherheitspraktiken offenzulegen. In diesem Leitfaden finden Sie Anweisungen zum Ausfüllen dieses neuen Formulars sowie Informationen darüber, wie Braze Ihre App-Daten verarbeitet.
Als App-Entwickler:in haben Sie die Kontrolle darüber, welche Daten Sie an Braze senden. Die von Braze empfangenen Daten werden gemäß Ihren Anweisungen verarbeitet. Das ist es, was Google als Dienstanbieter klassifiziert.

Dieser Artikel enthält Informationen zu den Daten, die das Braze SDK im Zusammenhang mit dem Fragebogen im Abschnitt zur Datensicherheit von Google verarbeitet. Dieser Artikel stellt keine Rechtsberatung dar. Wir empfehlen Ihnen daher, sich mit Ihrer Rechtsabteilung zu beraten, bevor Sie Informationen an Google übermitteln.
Fragen
| Fragen | Antworten für Braze SDK |
|---|---|
| Werden die erforderlichen Nutzerdatentypen von Ihrer App erfasst oder geteilt? | Ja, das Braze Android SDK erfasst Daten entsprechend der von der/dem App-Entwickler:in vorgenommenen Konfiguration. |
| Sind alle von Ihrer App gesammelten Nutzerdaten während der Übertragung verschlüsselt? | Ja. |
| Können Nutzer:innen eine Anfrage zur Löschung ihrer Daten stellen? | Ja. |
Weitere Informationen über den Umgang mit Nutzeranfragen zu ihren Daten und deren Löschung finden Sie unter Braze Data Retention Information.
Datenerfassung
Die von Braze erfassten Daten sind von der jeweiligen Integration und den Nutzerdaten abhängig, die Sie sammeln möchten. Weitere Informationen darüber, welche Daten standardmäßig von Braze erfasst werden und wie Sie bestimmte Attribute deaktivieren können, finden Sie unter Optionen für die SDK-Datenerfassung.
| Kategorie | Datentyp | Nutzung durch Braze |
|---|---|---|
| Standort | Ungefährer Standort | Wird standardmäßig nicht erfasst. |
| Genauer Standort | ||
| Persönliche Infos | Name | |
| E-Mail-Adresse | ||
| Nutzer-IDs | ||
| Adresse | ||
| Telefonnummer | ||
| Ethnie und Ethnizität | ||
| Politische oder religiöse Überzeugungen | ||
| Sexuelle Orientierung | ||
| Andere Infos | ||
| Finanzielle Informationen | Zahlungsinformationen von Nutzer:innen | |
| Kaufhistorie | ||
| Kreditwürdigkeit | ||
| Andere Finanzinformationen | ||
| Gesundheit und Fitness | Informationen zur Gesundheit | Wird standardmäßig nicht erfasst. |
| Informationen zur Fitness | ||
| Nachrichten | E-Mails | Wird standardmäßig nicht erfasst. |
| SMS oder MMS | ||
| Andere In-App-Nachrichten | Wenn Sie In-App-Nachrichten oder Push-Benachrichtigungen über Braze senden, erfassen wir Informationen darüber, wann Nutzer:innen diese Nachrichten geöffnet oder gelesen haben. | |
| Fotos und Videos | Fotos | Nicht erfasst. |
| Videos | ||
| Audio-Dateien | Sprach- oder Tonaufnahmen | |
| Musikdateien | ||
| Andere Audio-Dateien | ||
| Dateien und Dokumente | Dateien und Dokumente | |
| Kalender | Kalender-Ereignisse | |
| Kontakte | Kontakte | |
| App-Aktivität | App-Interaktionen | Braze erfasst standardmäßig Daten zur Sitzungsaktivität. Alle anderen Interaktionen und Aktivitäten werden von der individuellen Integration Ihrer App bestimmt. |
| In-App-Suchverlauf | Nicht erfasst. | |
| Installierte Apps | Nicht erfasst. | |
| Sonstige von Nutzer:innen generierte Inhalte | Wird standardmäßig nicht erfasst. | |
| Andere Aktionen | ||
| Besuchte Internetseiten | Internetverlauf | Nicht erfasst. |
| Informationen und Performance der App | Absturzprotokolle | Braze erfasst Absturzprotokolle für Fehler, die innerhalb des SDK auftreten. Diese enthalten Angaben zum Smartphone-Modell und Betriebssystem der Nutzer:innen sowie eine Braze-spezifische Nutzer-ID. |
| Diagnostik | Nicht erfasst. | |
| Andere Performance-Daten der App | Nicht erfasst. | |
| Gerät oder andere IDs | Gerät oder andere IDs | Braze generiert eine Geräte-ID, um die Geräte der Nutzer:innen zu unterscheiden, und überprüft, ob die Nachrichten an das richtige vorgesehene Gerät gesendet werden. |
Wenn Sie mehr über andere Gerätedaten erfahren möchten, die Braze erfasst und die möglicherweise nicht in den Geltungsbereich der Google-Play-Datensicherheitsrichtlinien fallen, lesen Sie unsere Übersicht über Android-Speicher und unsere Optionen für die SDK-Datenerfassung.
Deaktivieren des Trackings von Daten
Um das Tracking von Daten im Android SDK zu deaktivieren, verwenden Sie die Methode disableSDK(). Dadurch werden alle Netzwerkverbindungen abgebrochen, sodass das Braze SDK keine Daten mehr an die Braze-Server übermittelt.
Zuvor gespeicherte Daten löschen
Sie können die Methode wipeData() verwenden, um alle clientseitig auf dem Gerät gespeicherten Daten vollständig zu löschen.
Wiederaufnahme des Trackings von Daten
Um die Datenerfassung wieder aufzunehmen, können Sie die Methode enableSDK() verwenden. Beachten Sie, dass dadurch keine zuvor gelöschten Daten wiederhergestellt werden.
Abmelden und Push-Registrierung aufheben
Das Braze SDK stellt Methoden bereit, um ein Gerät nicht mehr anzusprechen, wenn Nutzer:innen sich von Push-Benachrichtigungen abmelden oder sich ausloggen. Diese Methoden entfernen die Push-Registrierungsdaten der/des aktuellen Nutzer:in auf dem Braze-Server und im SDK, sodass Braze keine zukünftigen Push-Benachrichtigungs-Campaigns mehr an diese:n Nutzer:in sendet.
Abmelden
Wenn sich Nutzer:innen aus einer Anwendung abmelden, rufen Sie die logout-Methode des SDK auf, um die Push-Registrierung des Geräts von der/dem aktuellen Nutzer:in zu entfernen und automatisch Bereinigungsaktionen im SDK durchzuführen. Die logout-Methode führt Folgendes aus:
- Hebt die Registrierung des Push-Tokens des Geräts bei der/dem aktuellen Nutzer:in auf dem Braze-Server auf.
- Wenn der Aufruf zur Aufhebung der Registrierung erfolgreich ist, löscht das SDK lokal gespeicherte SDK-Daten und deaktiviert das SDK.
- Bei einem Fehler wird ein Fehler und ein
isRetriable-Flag ausgelöst, damit die Integration entsprechende Maßnahmen ergreifen kann.
Das folgende Callback-Beispiel zeigt die Erfolgs- und Fehlerbehandlung von logout. Verwenden Sie es für Callback-basierte Abmeldeabläufe und ersetzen Sie das Logging durch Ihre eigene Wiederholungs- oder Re-Authentifizierungslogik.
1
2
3
4
5
6
7
8
9
10
11
// Completion callback
Braze.getInstance(context).logout { result ->
result
.onSuccess {
Log.d(TAG, "Logout successful")
}
.onFailure { error ->
val pushError = error as? BrazePushUnregistrationException
Log.e(TAG, "Logout failed: ${error.message}, isRetriable: ${pushError?.isRetriable}")
}
}
Das folgende Coroutine-Beispiel zeigt die suspendierende logout-API. Verwenden Sie es in Coroutine-basierten Abläufen und passen Sie die Erfolgs- und Fehlerzweige für Ihre App an.
1
2
3
4
5
6
7
8
9
10
lifecycleScope.launch {
runCatching { Braze.getInstance(context).logout() }
.onSuccess {
Log.d(TAG, "Logout successful")
}
.onFailure { error ->
val pushError = error as? BrazePushUnregistrationException
Log.e(TAG, "Logout failed: ${error.message}, isRetriable: ${pushError?.isRetriable}")
}
}
Tracking und Push nach logout wieder aktivieren
Nach einem erfolgreichen logout aktivieren Sie das SDK mit enableSDK() erneut und registrieren Sie sich dann über Ihr Betriebssystem oder Ihren Push-Anbieter erneut für Benachrichtigungen, indem Sie der Android-Push-Einrichtung folgen.
Sofortige Aufrufe zur Aufhebung der Registrierung vermeiden
Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund der asynchronen Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-Token erneut der/dem Braze-Nutzer:in hinzugefügt wird.
Push-Registrierung aufheben
Um den Push-Versand an ein Gerät ohne zusätzliche automatische Bereinigung zu stoppen, verwenden Sie die unregisterPush-Methode. Diese entfernt das Push-Token des Geräts von der/dem aktuellen Nutzer:in auf dem Braze-Server und löscht das lokal gespeicherte Token.
Das folgende Callback-Beispiel zeigt, wie Sie unregisterPush-Ergebnisse behandeln. Verwenden Sie es, wenn Ihr Ablauf Callback-basiert ist, und ersetzen Sie das Logging durch Ihre eigene Wiederholungsbehandlung.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Completion callback
Braze.getInstance(context).unregisterPush { result ->
result
.onSuccess {
Log.d(TAG, "Push unregistered successfully")
}
.onFailure { error ->
val pushError = error as? BrazePushUnregistrationException
Log.e(
TAG,
"Push unregistration failed: ${error.message}, isRetriable: ${pushError?.isRetriable}"
)
}
}
Das folgende Coroutine-Beispiel zeigt die suspendierende unregisterPush-API. Verwenden Sie es in Coroutine-basierten Abläufen und passen Sie die Erfolgs- und Fehlerzweige für Ihre App an.
1
2
3
4
5
6
7
8
9
10
11
12
13
lifecycleScope.launch {
runCatching { Braze.getInstance(context).unregisterPush() }
.onSuccess {
Log.d(TAG, "Push unregistered successfully")
}
.onFailure { error ->
val pushError = error as? BrazePushUnregistrationException
Log.e(
TAG,
"Push unregistration failed: ${error.message}, isRetriable: ${pushError?.isRetriable}"
)
}
}
Push nach unregisterPush erneut registrieren
Nachdem Sie unregisterPush aufgerufen haben, registrieren Sie sich über Ihr Betriebssystem oder Ihren Push-Anbieter erneut für Benachrichtigungen, indem Sie der Android-Push-Einrichtung folgen, bevor Sie erneut Braze-Push-Benachrichtigungen senden.
Sofortige Aufrufe zur Aufhebung der Registrierung vermeiden
Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund der asynchronen Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-Token erneut der/dem Braze-Nutzer:in hinzugefügt wird.
Apples Manifest zum Datenschutz
Was sind Tracking-Daten?
Apple definiert „Tracking-Daten“ als Daten, die in Ihrer App über eine:n Endnutzer:in oder ein Gerät gesammelt werden und die mit Drittanbieter-Daten (z. B. gezielte Werbung) oder einem Datenbroker verknüpft sind. Eine vollständige Definition mit Beispielen finden Sie unter Apple: Tracking.
Standardmäßig sammelt das Braze SDK keine Tracking-Daten. Je nach Konfiguration Ihres Braze SDK müssen Sie jedoch möglicherweise Braze-spezifische Daten im Datenschutzmanifest Ihrer App aufführen.
Was ist ein Datenschutzmanifest?
Ein Datenschutzmanifest ist eine Datei in Ihrem Xcode-Projekt, die den Grund für die Datenerfassung durch Ihre App und SDKs von Drittanbietern sowie deren Datenerfassungsmethoden beschreibt. Jedes Ihrer externen SDKs, das Daten trackt, benötigt ein eigenes Datenschutzmanifest. Wenn Sie den Datenschutzbericht Ihrer App erstellen, werden diese Datenschutzmanifestdateien automatisch in einem einzigen Bericht zusammengefasst.
API-Tracking-Daten-Domains
Ab iOS 17.2 blockiert Apple alle deklarierten Tracking-Endpunkte in Ihrer App, bis die:der Endnutzer:in eine Aufforderung zur Ad-Tracking-Transparenz (ATT) akzeptiert. Braze stellt Tracking-Endpunkte bereit, über die Sie Ihre Tracking-Daten weiterleiten können, während Sie First-Party-Daten, die nicht zum Tracking gehören, weiterhin an den ursprünglichen Endpunkt senden können.
Deklaration von Braze-Tracking-Daten

Voraussetzungen
Die folgende Braze SDK-Version ist erforderlich, um dieses Feature zu implementieren:
Schritt 1: Aktuelle Richtlinien überprüfen
Überprüfen Sie die aktuellen Datenerfassungsrichtlinien Ihres Braze SDK gemeinsam mit Ihrer Rechtsabteilung, um festzustellen, ob Ihre App Tracking-Daten gemäß der Definition von Apple erfasst. Wenn Sie keine Tracking-Daten erfassen, müssen Sie Ihr Datenschutzmanifest für das Braze SDK derzeit nicht anpassen. Weitere Informationen zu den Datenerfassungsrichtlinien des Braze SDK finden Sie unter SDK-Datenerfassung.

Wenn eines Ihrer Nicht-Braze-SDKs Tracking-Daten erfasst, müssen Sie diese Richtlinien separat überprüfen.
Schritt 2: Datenschutzmanifest erstellen
Prüfen Sie zunächst, ob Sie bereits ein Datenschutzmanifest haben, indem Sie in Ihrem Xcode-Projekt nach einer PrivacyInfo.xcprivacy-Datei suchen. Wenn Sie diese Datei bereits haben, können Sie mit dem nächsten Schritt fortfahren. Andernfalls lesen Sie Apple: Datenschutzmanifest erstellen.
Schritt 3: Endpunkt zum Datenschutzmanifest hinzufügen
Öffnen Sie in Ihrem Xcode-Projekt die PrivacyInfo.xcprivacy-Datei Ihrer App, klicken Sie dann mit der rechten Maustaste auf die Tabelle und aktivieren Sie Raw Keys and Values.

Wählen Sie unter App Privacy Configuration den Eintrag NSPrivacyTracking und setzen Sie den Wert auf YES.
![]()
Wählen Sie unter App Privacy Configuration den Eintrag NSPrivacyTrackingDomains. Fügen Sie im Domains-Array ein neues Element hinzu und setzen Sie dessen Wert auf den Endpunkt, den Sie zuvor in Ihrem AppDelegate hinzugefügt haben, mit dem Präfix sdk-tracking.
![]()
Schritt 4: Tracking-Daten deklarieren
Öffnen Sie als Nächstes AppDelegate.swift und listen Sie jede Tracking-Eigenschaft auf, die Sie deklarieren möchten, indem Sie eine statische oder dynamische Tracking-Liste erstellen. Beachten Sie, dass Apple diese Eigenschaften blockiert, bis die Endnutzer:innen die ATT-Aufforderung akzeptieren. Listen Sie daher nur die Eigenschaften auf, die Sie und Ihre Rechtsabteilung als Tracking betrachten. Zum Beispiel:
Im folgenden Beispiel werden dateOfBirth, customEvent und customAttribute als Tracking-Daten in einer statischen Liste deklariert.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import UIKit
import BrazeKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
static var braze: Braze? = nil
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
let configuration = Braze.Configuration(apiKey: brazeApiKey, endpoint: brazeEndpoint)
// Declare which types of data you wish to collect for user tracking.
configuration.api.trackingPropertyAllowList = [
.dateOfBirth,
.customEvent(["event-1"]),
.customAttribute(["attribute-1", "attribute-2"])
]
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
return true
}
}
Im folgenden Beispiel wird die Tracking-Liste automatisch aktualisiert, nachdem die Endnutzer:innen die App Tracking Transparency (ATT)-Aufforderung akzeptiert haben. Die Autorisierungsanfrage bei App-Aktivierung ist ein szenenspezifisches Ereignis, daher gehört dieser Code in die sceneDidBecomeActive(_:)-Methode Ihrer SceneDelegate.swift-Datei und nicht in applicationDidBecomeActive(_:) von AppDelegate.swift (erforderlich für Apps, die den UIScene-Lebenszyklus übernommen haben). Ihre Braze-Instanz bleibt über die statische Eigenschaft AppDelegate.braze, die in Schritt 1 konfiguriert wurde, aus SceneDelegate erreichbar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
func sceneDidBecomeActive(_ scene: UIScene) {
// Request and check your user's tracking authorization status.
ATTrackingManager.requestTrackingAuthorization { status in
// Let Braze know whether user data is allowed to be collected for tracking.
let enableAdTracking = status == .authorized
AppDelegate.braze?.set(adTrackingEnabled: enableAdTracking)
// Add the `.firstName` and `.lastName` properties, while removing the `.everything` configuration.
AppDelegate.braze?.updateTrackingAllowList(
adding: [.firstName, .lastName],
removing: [.everything]
)
}
}
Schritt 5: Endlose Wiederholungsschleifen verhindern
Um zu verhindern, dass das SDK in eine endlose Wiederholungsschleife gerät, verwenden Sie die Methode set(adTrackingEnabled: enableAdTracking) zur Handhabung von ATT-Berechtigungen. Die Eigenschaft adTrackingEnabled in Ihrer SceneDelegate.swift-Methode sollte ähnlich wie folgt behandelt werden:
1
2
3
4
5
6
7
8
func sceneDidBecomeActive(_ scene: UIScene) {
// Request and check your user's tracking authorization status.
ATTrackingManager.requestTrackingAuthorization { status in
// Let Braze know whether user data is allowed to be collected for tracking.
let enableAdTracking = status == .authorized
AppDelegate.braze?.set(adTrackingEnabled: enableAdTracking)
}
}
Deaktivieren des Trackings von Daten
Um das Tracking von Daten im Swift SDK zu deaktivieren, setzen Sie die Eigenschaft enabled auf Ihrer Braze-Instanz auf false. Wenn enabled auf false gesetzt ist, ignoriert das Braze SDK alle Aufrufe der öffentlichen API. Das SDK bricht außerdem alle laufenden Aktionen ab, wie z. B. Netzwerkanfragen, Ereignisverarbeitung usw.
Zuvor gespeicherte Daten löschen
Sie können die Methode wipeData() verwenden, um lokal gespeicherte SDK-Daten auf dem Gerät einer Nutzerin oder eines Nutzers vollständig zu löschen.
Ab Braze Swift Version 7.0.0 generieren das SDK und die Methode wipeData() eine zufällige UUID als Geräte-ID. Wenn jedoch useUUIDAsDeviceId auf false gesetzt ist oder Sie Swift SDK Version 5.7.0 oder früher verwenden, müssen Sie zusätzlich eine POST-Anfrage an /users/delete senden, da der Identifier for Vendors (IDFV) automatisch als Geräte-ID dieser Nutzerin bzw. dieses Nutzers verwendet wird.
Wenn Sie die manuelle Push-Integration verwenden und Ihre App wipeData() aufruft und das SDK anschließend im selben App-Durchlauf wieder aktiviert, rufen Sie erneut registerForRemoteNotifications() auf, damit Braze ein aktualisiertes Geräte-Token erhalten kann. Weitere Informationen finden Sie unter Push-Benachrichtigungen einrichten.
Wiederaufnahme des Trackings von Daten
Um die Datenerfassung wieder aufzunehmen, setzen Sie enabled auf true. Beachten Sie, dass dadurch keine zuvor gelöschten Daten wiederhergestellt werden.
Abmelden und Push-Registrierung aufheben
Das Braze SDK stellt Methoden bereit, um ein Gerät nicht mehr anzusprechen, wenn Nutzer:innen sich von Push-Benachrichtigungen abmelden oder sich ausloggen. Diese Methoden entfernen die Push-Registrierungsdaten der aktuellen Nutzer:innen auf dem Braze-Server und im SDK, sodass Braze keine zukünftigen Push-Benachrichtigungs-Campaigns mehr an diese Nutzer:innen sendet.
Abmelden
Wenn sich Nutzer:innen aus einer Anwendung abmelden, rufen Sie die logout-Methode des SDK auf, um die Push-Registrierung des Geräts von den aktuellen Nutzer:innen zu entfernen und automatisch Bereinigungsaktionen im SDK durchzuführen. Die logout-Methode führt Folgendes aus:
- Hebt die Registrierung des Push-Tokens des Geräts und aller Push-to-Start-Tokens für Live Activities von den aktuellen Nutzer:innen auf dem Braze-Server auf.
- Wenn der Aufruf zur Aufhebung der Registrierung erfolgreich ist, löscht das SDK lokal gespeicherte SDK-Daten und deaktiviert das SDK.
- Bei einem Fehler wird ein Fehler und ein
isRetriable-Flag ausgelöst, damit die Integration entsprechende Maßnahmen ergreifen kann.
Das folgende Completion-Handler-Beispiel zeigt die Behandlung von logout bei Erfolg und Fehler. Verwenden Sie es für Callback-basierte Abläufe und ersetzen Sie das Logging durch die Wiederholungs- oder Re-Authentifizierungslogik Ihrer App.
1
2
3
4
5
6
7
8
9
// Completion handler
AppDelegate.braze?.logout { result in
switch result {
case .success:
print("Logout successful")
case .failure(let error):
print("Logout failed: \(error.message), isRetriable: \(error.isRetriable)")
}
}
Das folgende Async-Beispiel zeigt die suspendierende logout-API. Verwenden Sie es für asynchrone Workflows und passen Sie die Erfolgs- und Fehlerzweige für Ihre App an.
1
2
3
4
5
6
7
// Async/await
do {
try await AppDelegate.braze?.logout()
print("Logout successful")
} catch let error as Braze.LogoutErrorResult {
print("Logout failed: \(error.message), isRetriable: \(error.isRetriable)")
}
Dieses Objective-C-Beispiel zeigt die Completion-basierte logout-Behandlung. Verwenden Sie es in Objective-C-Integrationen und ersetzen Sie das Logging durch Ihren App-Ablauf.
1
2
3
4
5
6
[AppDelegate.braze logoutWithCompletion:^(NSError * _Nullable error) {
if (error) {
NSNumber *isRetriable = error.userInfo[BRZLogoutErrorUserInfoKey.isRetriable];
NSLog(@"Logout failed: %@, isRetriable=%@", error.localizedDescription, isRetriable);
}
}];
Tracking und Push nach logout wieder aktivieren
Nach einem erfolgreichen logout setzen Sie enabled wieder auf true und registrieren sich dann erneut für Benachrichtigungen bei Ihrem Betriebssystem oder Push-Anbieter, indem Sie der Swift-Push-Einrichtung folgen.
Sofortige Aufrufe zur Aufhebung der Registrierung vermeiden
Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund der asynchronen Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-Token erneut den Braze-Nutzer:innen hinzugefügt wird.
Push-Registrierung aufheben
Um den Push-Versand an ein Gerät ohne zusätzliche automatische Bereinigung zu stoppen, verwenden Sie die unregisterPush-Methode. Diese entfernt das Push-Token des Geräts von den aktuellen Nutzer:innen auf dem Braze-Server und löscht das lokal gespeicherte Token.
Das folgende Completion-Handler-Beispiel zeigt die Behandlung von unregisterPush bei Erfolg und Fehler. Verwenden Sie es für Callback-basierte Abläufe und ersetzen Sie das Logging durch Ihre eigene Wiederholungslogik.
1
2
3
4
5
6
7
8
9
// Completion handler
AppDelegate.braze?.notifications.unregisterPush { result in
switch result {
case .success:
print("Push unregistered successfully")
case .failure(let error):
print("Push unregistration failed: \(error.message), isRetriable: \(error.isRetriable)")
}
}
Das folgende Async-Beispiel zeigt die suspendierende unregisterPush-API. Verwenden Sie es für asynchrone Workflows und passen Sie die Erfolgs- und Fehlerzweige für Ihre App an.
1
2
3
4
5
6
7
// Async/await
do {
try await AppDelegate.braze?.notifications.unregisterPush()
print("Push unregistered successfully")
} catch let error as Braze.PushUnregistrationError {
print("Push unregistration failed: \(error.message), isRetriable: \(error.isRetriable)")
}
Dieses Objective-C-Beispiel zeigt die Completion-basierte unregisterPush-Behandlung. Verwenden Sie es in Objective-C-Integrationen und ersetzen Sie das Logging durch Ihren App-Ablauf.
1
2
3
4
5
6
7
8
[AppDelegate.braze.notifications unregisterPushWithCompletion:^(NSError * _Nullable error) {
if (error) {
NSNumber *isRetriable = error.userInfo[BRZPushUnregistrationErrorUserInfoKey.isRetriable];
NSNumber *statusCode = error.userInfo[BRZPushUnregistrationErrorUserInfoKey.httpStatusCode];
NSLog(@"Push unregistration failed: %@, isRetriable=%@ status=%@",
error.localizedDescription, isRetriable, statusCode);
}
}];
Push nach unregisterPush erneut registrieren
Nach dem Aufruf von unregisterPush registrieren Sie sich erneut für Benachrichtigungen bei Ihrem Betriebssystem oder Push-Anbieter, indem Sie der Swift-Push-Einrichtung folgen, bevor Sie erneut Braze-Push-Benachrichtigungen senden.
Sofortige Aufrufe zur Aufhebung der Registrierung vermeiden
Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund der asynchronen Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-Token erneut den Braze-Nutzer:innen hinzugefügt wird.
Push-to-Start-Tokens für Live Activities aufheben
Live Activities können remote über Push-to-Start-Tokens gestartet werden. Um zu verhindern, dass Braze Live Activities auf einem Gerät remote startet, rufen Sie die unregisterPushToStart-Methode auf, um alle aktuell registrierten Typen (Standard) oder eine bestimmte Liste von Activity-Typen abzumelden.
Beachten Sie, dass aktuell laufende Live Activities weiterhin Updates erhalten und dass diese Methode nur die Möglichkeit entfernt, neue Activities remote zu starten. Weitere Informationen zu Live Activities finden Sie unter Live Activities.

Vermeiden Sie es, logout oder unregisterPushToStart direkt nach dem Aufruf von registerPushToStart für eine Live Activity aufzurufen. Aufgrund der asynchronen Natur der Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-to-Start-Token erneut den Braze-Nutzer:innen hinzugefügt wird.
Das folgende Beispiel zeigt, wie Sie alle Push-to-Start-Activity-Typen abmelden. Verwenden Sie es, wenn abgemeldete Nutzer:innen keine neuen remote gestarteten Live Activities mehr erhalten sollen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Unregister all currently-registered activity types
// Completion handler
AppDelegate.braze?.liveActivities.unregisterPushToStart { result in
switch result {
case .success:
print("Push-to-start unregistered successfully")
case .failure(let error):
print("Push-to-start unregistration failed: \(error.message), isRetriable: \(error.isRetriable)")
}
}
// Async/await
do {
try await AppDelegate.braze?.liveActivities.unregisterPushToStart()
print("Push-to-start unregistered successfully")
} catch let error as Braze.PushUnregistrationError {
print("Push-to-start unregistration failed: \(error.message), isRetriable: \(error.isRetriable)")
}
Das folgende Beispiel zeigt, wie Sie bestimmte Activity-Typen abmelden. Verwenden Sie es, wenn nur ausgewählte Live Activities nicht mehr remote gestartet werden sollen.
1
2
3
4
5
6
7
8
9
// Unregister specific activity types
AppDelegate.braze?.liveActivities.unregisterPushToStart(types: ["ActivityType1", "ActivityType2"]) { result in
switch result {
case .success:
print("Push-to-start unregistered successfully")
case .failure(let error):
print("Push-to-start unregistration failed: \(error.message), isRetriable: \(error.isRetriable)")
}
}

unregisterPushToStart verfügt nicht über eine Objective-C-API, da Live Activities auf Swift-exklusive Typen angewiesen sind.
IDFV-Erfassung
In früheren Versionen des Braze iOS SDK wurde das IDFV-Feld (Identifier for Vendors) automatisch als Geräte-ID der Nutzer:innen erfasst. Ab Swift SDK v5.7.0 konnte das IDFV-Feld optional deaktiviert werden, und Braze setzte stattdessen eine zufällige UUID als Geräte-ID. Ab Swift SDK v7.0.0 wird das IDFV-Feld standardmäßig nicht mehr erfasst, und stattdessen wird eine UUID als Geräte-ID gesetzt.
Das Feature useUUIDAsDeviceId konfiguriert das Swift SDK so, dass die Geräte-ID als UUID gesetzt wird. Traditionell hat das iOS SDK die Geräte-ID auf den von Apple generierten IDFV-Wert gesetzt. Wenn dieses Feature in Ihrer iOS-App standardmäßig aktiviert ist, wird allen neuen Nutzer:innen, die über das SDK erstellt werden, eine UUID als Geräte-ID zugewiesen.
Wenn Sie den IDFV weiterhin separat erfassen möchten, können Sie set(identifierforvendor:) verwenden.

Das Lesen von braze.deviceId blockiert den aufrufenden Thread, bis das SDK seine Operationen nach der Initialisierung abgeschlossen hat. Verwenden Sie für den Haupt-Thread oder latenzempfindliche Kontexte stattdessen die nicht-blockierenden Alternativen.
1
2
3
4
5
6
7
// Completion handler — always delivers on the main thread.
AppDelegate.braze?.getDeviceId { deviceId in
print("Device ID:", deviceId)
}
// Async/await (iOS 13.0+, tvOS 13.0+, watchOS 6.0+, macOS 10.15+)
let deviceId = await AppDelegate.braze?.getDeviceId()
1
2
3
4
// Completion handler — always delivers on the main thread.
[AppDelegate.braze getDeviceIdWithCompletion:^(NSString *deviceId) {
NSLog(@"Device ID: %@", deviceId);
}];
Überlegungen
SDK-Version
Wenn in Swift SDK v7.0.0+ useUUIDAsDeviceId aktiviert ist (Standard), wird allen neuen Nutzer:innen eine zufällige Geräte-ID zugewiesen. Alle bereits vorhandenen Nutzer:innen behalten ihren bisherigen Geräte-ID-Wert bei, der möglicherweise der IDFV war.
Wenn dieses Feature nicht aktiviert ist, wird Geräten bei der Erstellung weiterhin der IDFV zugewiesen.
Nachgelagerte Auswirkungen
Technologie-Partner: Wenn dieses Feature aktiviert ist, haben Technologie-Partner, die den IDFV-Wert aus der Braze-Geräte-ID ableiten, keinen Zugriff mehr auf diese Daten. Wenn der vom Gerät abgeleitete IDFV-Wert für Ihre Partnerintegration benötigt wird, empfehlen wir, dieses Feature auf false zu setzen.
Currents: Wenn useUUIDAsDeviceId auf „true“ gesetzt ist, entspricht die in Currents gesendete Geräte-ID nicht mehr dem IDFV-Wert.
Häufig gestellte Fragen
Wirkt sich diese Änderung auf meine bestehenden Nutzer:innen in Braze aus?
Nein. Wenn dieses Feature aktiviert ist, werden keine Nutzerdaten in Braze überschrieben. Neue UUID-Geräte-IDs werden nur für neue Geräte erstellt oder wenn wipedata() aufgerufen wird.
Kann ich dieses Feature nach der Aktivierung wieder deaktivieren?
Ja, dieses Feature kann nach Ihrem Ermessen ein- und ausgeschaltet werden. Zuvor gespeicherte Geräte-IDs werden niemals überschrieben.
Kann ich den IDFV-Wert weiterhin an anderer Stelle über Braze erfassen?
Ja, Sie können den IDFV weiterhin optional über das Swift SDK erfassen (die Erfassung ist standardmäßig deaktiviert).
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das React Native Braze SDK integrieren.
Deaktivieren des Trackings von Daten
Um die Datenerfassung zu deaktivieren, verwenden Sie die Methode disableSDK. Nach dem Aufruf dieser Methode sendet das Braze SDK keine Daten mehr an Braze-Server.
1
Braze.disableSDK();
Datenerfassung fortsetzen
Um die Datenerfassung nach dem Deaktivieren fortzusetzen, verwenden Sie die Methode enableSDK.
1
Braze.enableSDK();
Gespeicherte Daten löschen
Um alle lokal gespeicherten Braze-SDK-Daten auf dem Gerät zu löschen, verwenden Sie die Methode wipeData. Nach dem Aufruf dieser Methode ist das SDK deaktiviert und muss mit enableSDK wieder aktiviert werden.
1
Braze.wipeData();
Daten sofort senden
Um ein sofortiges Senden aller ausstehenden Daten an die Braze-Server anzufordern, verwenden Sie requestImmediateDataFlush.
1
Braze.requestImmediateDataFlush();
Aktivierung des Ad-Trackings festlegen
Um Braze mitzuteilen, ob Ad-Tracking für dieses Gerät aktiviert ist, verwenden Sie die Methode setAdTrackingEnabled. Das SDK erfasst diese Daten nicht automatisch.
1
Braze.setAdTrackingEnabled(true, "GOOGLE_ADVERTISING_ID");
Der zweite Parameter ist die Google Advertising ID und wird nur auf Android verwendet.
Aktualisieren der Tracking-Eigenschaft-Zulassungsliste (nur iOS)
Um die Liste der für das Tracking deklarierten Datentypen zu aktualisieren, verwenden Sie updateTrackingPropertyAllowList. Auf Android hat dies keine Auswirkung.
1
2
3
4
5
6
7
8
Braze.updateTrackingPropertyAllowList({
adding: [Braze.TrackingProperty.EMAIL, Braze.TrackingProperty.FIRST_NAME],
removing: [],
addingCustomEvents: ["my_custom_event"],
removingCustomEvents: [],
addingCustomAttributes: ["my_custom_attribute"],
removingCustomAttributes: []
});
Weitere Informationen finden Sie unter Datenschutzmanifest.
Abmelden und Push-Registrierung aufheben
Dieses Feature wird vom React Native SDK noch nicht unterstützt.
Voraussetzungen
Bevor Sie dieses Feature nutzen können, müssen Sie das Roku Braze SDK integrieren.
Zuvor gespeicherte Daten löschen
Das Roku SDK enthält keine wipeData-Methode. Um einen sauberen Ausgangszustand zu erzeugen, der funktional wipeData() auf anderen Braze SDKs entspricht, löschen Sie die vier Braze-Registry-Abschnitte und initialisieren Sie das SDK anschließend neu.
Das Braze Roku SDK speichert Daten in den folgenden Registry-Abschnitten:
| Abschnitt | Inhalt |
|---|---|
braze.section.device_id |
Die Geräte-UUID, die zur Identifizierung dieses Geräts in Braze verwendet wird. |
braze.section.user_id |
Die externe Nutzer:innen-ID, sofern eine festgelegt wurde. |
braze.section.session |
Die aktive Sitzungs-UUID, Startzeit und Endzeit. |
braze.section.config |
Zwischengespeicherte SDK-Konfiguration und Feature-Flag-Daten. |
Schritt 1: Registry-Abschnitte löschen
Verwenden Sie roRegistry.Delete(), um jeden Braze-Abschnitt zu löschen, und rufen Sie anschließend Flush() auf, um die Änderungen zu übernehmen:
1
2
3
4
5
6
7
8
sub WipeBrazeData()
registry = CreateObject("roRegistry")
registry.Delete("braze.section.device_id")
registry.Delete("braze.section.user_id")
registry.Delete("braze.section.session")
registry.Delete("braze.section.config")
registry.Flush()
end sub
Schritt 2: Das Braze SDK neu initialisieren
Wenn Sie das Braze SDK erneut initialisieren, geht das SDK mit den fehlenden Registry-Daten problemlos um:
- Der Abschnitt für die Geräte-ID ist leer, sodass das SDK eine neue UUID generiert und das Gerät als anonym behandelt.
- Der Abschnitt für die Nutzer:innen-ID ist leer, sodass das SDK standardmäßig eine:n anonyme:n Nutzer:in verwendet (ein leerer String
""). - Der Sitzungsabschnitt ist leer, sodass das SDK eine neue Sitzung startet.
- Der Konfigurationsabschnitt ist leer, sodass das SDK die Konfiguration erneut vom Server abruft.

Das Roku SDK erzeugt beim Löschen der Registry keine serverseitige Löschanfrage. Wenn Sie die:den Nutzer:in auch aus Braze entfernen möchten, senden Sie eine Anfrage an /users/delete unter Verwendung der external_id oder braze_id der:des Nutzer:in.
Abmelden und Push-Registrierung aufheben
Dieses Feature wird vom Roku SDK noch nicht unterstützt.