Zum Inhalt springen

Datenerfassung verwalten

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

Deaktivierung des Daten-Trackings

Um die Daten-Tracking-Aktivität im Web SDK zu deaktivieren, verwenden Sie die Methode disableSDK(). Diese Methode synchronisiert alle Daten, die vor dem Aufruf von disableSDK() protokolliert wurden, und bewirkt, dass alle nachfolgenden Aufrufe an das Braze Web SDK für diese Seite und zukünftige Seitenladevorgänge ignoriert werden.

Verwenden Sie den Tag-Typ Tracking deaktivieren oder Tracking fortsetzen, 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 stoppen, empfehlen wir, eine einfache Seite mit zwei Links oder Buttons zu erstellen: Einer ruft beim Klicken disableSDK() auf, und der andere ruft enableSDK() auf, damit sich Nutzer:innen wieder anmelden können. Sie können diese Steuerelemente auch verwenden, um das Tracking über andere Daten-Unterverarbeiter zu starten oder zu stoppen.

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. Diese Methode entfernt die aktuelle Nutzersitzung, die Geräte-ID und alle lokal gespeicherten SDK-Daten. Nach dem Aufruf von wipeData() erscheinen Nutzer:innen als neue anonyme Nutzer:innen auf einem neuen Gerät.

Für eine vollständige Browser-Abmeldung verwenden Sie logout() (Web SDK 6.10.0 und höher). logout() hebt die Web-Push-Registrierung für den aktuellen Browser auf und ruft bei Erfolg wipeData() und disableSDK() auf. Verwenden Sie wipeData() allein, wenn Sie den lokalen SDK-Speicher ohne den vollständigen Abmeldevorgang löschen möchten – zum Beispiel bei einem Widerruf der Einwilligung oder einer Datenschutzaktion „Meine Daten löschen“.

Rufen Sie logout() (oder wipeData()) auf, wenn sich eine Nutzer:in abmeldet, damit die Daten eines Kundenprofils nicht für die nächste Nutzer:in bestehen bleiben. Dies ist besonders wichtig bei der Implementierung von Banner, damit ein Banner, das für ein Profil bereitgestellt wurde, nach der Abmeldung nicht einem anderen Profil angezeigt wird. Rufen Sie nach logout() erneut enableSDK() und initialize() auf, bevor Sie das Tracking wieder aufnehmen.

Daten-Tracking wieder aufnehmen

Um die Datenerfassung wieder aufzunehmen, können Sie die Methode enableSDK() verwenden.

Abmelden und Push-Registrierung aufheben

Das Braze SDK bietet Methoden, 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 bei den aktuellen Nutzer:innen auf dem Braze-Server auf.
  • Wenn der Aufruf zur Aufhebung der Registrierung erfolgreich ist, löscht das SDK die lokal gespeicherten SDK-Daten und deaktiviert das SDK.
  • Bei einem Fehler wird der errorCallback aufgerufen, 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-Flow.

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

Nach einem erfolgreichen logout rufen Sie enableSDK() auf und registrieren 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 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 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-Flow.

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

Nach dem Aufruf von unregisterPush registrieren Sie sich erneut für Benachrichtigungen bei Ihrem Betriebssystem oder Push-Anbieter, indem Sie der Anleitung unter Web-Push-Einrichtung folgen, bevor Sie wieder 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.

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.

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 Daten-Trackings

Um die Daten-Tracking-Aktivität 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 überträgt.

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.

Daten-Tracking wieder aufnehmen

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 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 bei den aktuellen Nutzer:innen auf dem Braze-Server auf.
  • Wenn der Abmeldeaufruf 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.

// 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.

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 wieder für Benachrichtigungen, indem Sie der Android-Push-Einrichtung folgen.

Sofortige Abmeldeaufrufe vermeiden

Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund asynchroner 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 Callback-Beispiel zeigt, wie unregisterPush-Ergebnisse behandelt werden. Verwenden Sie es, wenn Ihr Ablauf Callback-basiert ist, und ersetzen Sie das Logging durch Ihre eigene Wiederholungslogik.

// 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.

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

Nach dem Aufruf von unregisterPush 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 Abmeldeaufrufe vermeiden

Vermeiden Sie es, logout oder unregisterPush direkt nach der Registrierung für Push-Benachrichtigungen beim Betriebssystem oder Push-Anbieter aufzurufen. Aufgrund asynchroner Serververarbeitung kann dies in seltenen Fällen dazu führen, dass das Push-Token erneut den Braze-Nutzer:innen 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.

Tracking-Daten von Braze deklarieren

Voraussetzungen

Für die Implementierung dieses Features ist die folgende Braze-SDK-Version erforderlich:

Schritt 1: Aktuelle Richtlinien überprüfen

Überprüfen Sie die aktuellen Richtlinien zur Datenerfassung Ihres Braze SDK 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 Privacy Manifest für das Braze SDK derzeit nicht anpassen. Weitere Informationen zu den Richtlinien zur Datenerfassung des Braze SDK finden Sie unter SDK-Datenerfassung.

Schritt 2: Privacy Manifest erstellen

Überprüfen Sie zunächst, ob Sie bereits ein Privacy Manifest haben, indem Sie in Ihrem Xcode-Projekt nach einer PrivacyInfo.xcprivacy-Datei suchen. Falls diese Datei bereits vorhanden ist, können Sie mit dem nächsten Schritt fortfahren. Andernfalls siehe Apple: Create a privacy manifest.

Schritt 3: Ihren Endpunkt zum Privacy Manifest 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.

Ein Xcode-Projekt mit geöffnetem Kontextmenü und hervorgehobener Option „Raw Keys and Values“.

Wählen Sie unter App Privacy Configuration den Eintrag NSPrivacyTracking und setzen Sie seinen Wert auf YES.

Die geöffnete Datei „PrivacyInfo.xcprivacy“ mit „NSPrivacyTracking“ auf „YES“ gesetzt.

Wählen Sie unter App Privacy Configuration den Eintrag NSPrivacyTrackingDomains. Fügen Sie im Domains-Array ein neues Element hinzu und setzen Sie seinen Wert auf den Endpunkt, den Sie zuvor in Ihrem AppDelegate hinzugefügt haben, mit dem Präfix sdk-tracking.

Die geöffnete Datei „PrivacyInfo.xcprivacy“ mit einem unter „NSPrivacyTrackingDomains“ aufgeführten Braze-Tracking-Endpunkt.

Schritt 4: Ihre 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 der/die Endnutzer:in die ATT-Aufforderung akzeptiert. 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.

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 der/die Endnutzer:in die App-Tracking-Transparency-Aufforderung (ATT) akzeptiert hat. 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 ist über die statische Eigenschaft AppDelegate.braze aus dem SceneDelegate erreichbar, die in Schritt 1 konfiguriert wurde.

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 Verarbeitung von ATT-Berechtigungen. Die Eigenschaft adTrackingEnabled in Ihrer SceneDelegate.swift-Methode sollte ähnlich wie folgt behandelt werden:

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 Daten-Trackings

Um die Daten-Tracking-Aktivität 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 an die öffentliche 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/eines Nutzer:in 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/dieses Nutzer:in verwendet wird.

Wenn Sie die manuelle Push-Integration verwenden und Ihre App wipeData() aufruft und anschließend das SDK im selben App-Lauf wieder aktiviert, rufen Sie erneut registerForRemoteNotifications() auf, damit Braze ein aktualisiertes Geräte-Token erhalten kann. Weitere Informationen finden Sie unter Push-Benachrichtigungen einrichten.

Daten-Tracking wieder aufnehmen

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 des aktuellen/der 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 vom aktuellen/von der 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 sowie aller Push-to-Start-Tokens für Live Activities vom aktuellen/von der 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 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 Neu-Authentifizierungslogik Ihrer App.

// 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 Fehler-Branches für Ihre App an.

// 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 den Ablauf Ihrer App.

[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 die Anleitung unter Swift Push-Einrichtung befolgen.

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 dem/der 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 vom aktuellen/von der aktuellen Nutzer:in 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.

// 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 Fehler-Branches für Ihre App an.

// 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 den Ablauf Ihrer App.

[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

Nachdem Sie unregisterPush aufgerufen haben, registrieren Sie sich erneut für Benachrichtigungen bei Ihrem Betriebssystem oder Push-Anbieter, indem Sie die Anleitung unter Swift Push-Einrichtung befolgen, bevor Sie erneut Braze Push-Benachrichtigungen versenden.

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 dem/der Braze-Nutzer:in hinzugefügt wird.

Push-to-Start-Tokens für Live Activities abmelden

Live Activities können remote über Push-to-Start-Tokens gestartet werden. Um zu verhindern, dass Braze Live Activities remote auf einem Gerät 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.

Laufende Live Activities beenden

unregisterPushToStart beendet keine aktuell laufenden Live Activities. Beenden Sie im Erfolgs-Callback alle laufenden Live Activities manuell mithilfe der end(_:dismissalPolicy:)-Methode von ActivityKit.

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.

// 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.

// 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)")
  }
}

IDFV-Erfassung

In früheren Versionen des Braze iOS SDK wurde das IDFV-Feld (Identifier for Vendors) automatisch als Geräte-ID der/des Nutzers:in 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 festgelegt.

Das Feature useUUIDAsDeviceId konfiguriert das Swift SDK so, dass die Geräte-ID als UUID festgelegt 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 IDFV weiterhin separat erfassen möchten, können Sie set(identifierforvendor:) verwenden.

Hinweise

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 ein IDFV war.

Wenn dieses Feature nicht aktiviert ist, wird Geräten bei der Erstellung weiterhin ein IDFV zugewiesen.

Nachgelagerte Auswirkungen

Technologie-Partner: Wenn dieses Feature aktiviert ist, können Technologie-Partner, die den IDFV-Wert aus der Braze-Geräte-ID ableiten, nicht mehr auf diese Daten zugreifen. Falls 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 aktiviert, überschreibt dieses Feature keine Nutzerdaten in Braze. 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 anderweitig ü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 Daten-Trackings

Um die Datenerfassung zu deaktivieren, verwenden Sie die Methode disableSDK. Nach dem Aufruf dieser Methode sendet das Braze SDK keine Daten mehr an die Braze-Server.

Braze.disableSDK();

Daten-Tracking wieder aufnehmen

Um die Datenerfassung nach dem Deaktivieren wieder aufzunehmen, verwenden Sie die Methode enableSDK.

Braze.enableSDK();

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.

Braze.wipeData();

Daten sofort senden

Um ein sofortiges Senden aller ausstehenden Daten an die Braze-Server anzufordern, verwenden Sie requestImmediateDataFlush.

Braze.requestImmediateDataFlush();

Aktivierung des Ad-Trackings festlegen

Um Braze darüber zu informieren, ob Ad-Tracking für dieses Gerät aktiviert ist, verwenden Sie die Methode setAdTrackingEnabled. Das SDK erfasst diese Daten nicht automatisch.

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.

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.

Abmeldung und Push-Deregistrierung

Dieses Feature wird im React Native SDK noch nicht unterstützt.

Voraussetzungen

Bevor Sie dieses Feature nutzen können, müssen Sie das Braze Roku 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 anschließend das SDK neu.

Das Braze Roku SDK speichert Daten in den folgenden Registry-Abschnitten:

Abschnitt Inhalt
braze.section.device_id Die Geräte-UUID, die zur Identifikation dieses Geräts in Braze verwendet wird.
braze.section.user_id Die externe Nutzer-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 speichern:

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 ordnungsgemäß um:

  • Der Geräte-ID-Abschnitt ist leer, sodass das SDK eine neue UUID generiert und das Gerät als anonym behandelt.
  • Der Nutzer-ID-Abschnitt 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.

Abmelden und Push-Registrierung aufheben

Dieses Feature wird vom Roku SDK noch nicht unterstützt.

New Stuff!