Skip to content

Gérer la collecte de données

Découvrez comment gérer la collecte des données pour le SDK Braze, afin de vous conformer à toute réglementation en matière de confidentialité des données, le cas échéant.

Désactivation du suivi des données

Pour désactiver le suivi des données sur le SDK Web, utilisez la méthode disableSDK(). Cela synchronisera toutes les données enregistrées avant l’appel de disableSDK(), et tous les appels ultérieurs au SDK Web de Braze pour cette page et les chargements de pages futurs seront ignorés.

Utilisez le type d’étiquette Disable Tracking ou Resume Tracking pour désactiver ou réactiver le suivi Web, respectivement. Ces deux options appellent disableSDK et enableSDK.

Bonnes pratiques

Pour offrir aux utilisateurs la possibilité d’arrêter le suivi, nous recommandons de créer une page simple avec deux liens ou boutons : l’un qui appelle disableSDK() lorsqu’il est cliqué, et l’autre qui appelle enableSDK() pour permettre aux utilisateurs de se réinscrire. Vous pouvez utiliser ces contrôles pour démarrer ou arrêter le suivi via d’autres sous-traitants de données également.

Reprise du suivi des données

Pour reprendre la collecte de données, veuillez utiliser la méthode enableSDK().

Déconnexion et désinscription des notifications push

Le SDK Braze fournit des méthodes pour cesser de cibler un appareil lorsqu’un utilisateur se désinscrit des notifications push ou se déconnecte. Ces méthodes suppriment les données d’inscription push de l’utilisateur actuel sur le serveur Braze et dans le SDK, de sorte que Braze n’envoie plus de futures Campaigns de notifications push à cet utilisateur.

Déconnexion

Lorsqu’un utilisateur se déconnecte d’une application, appelez la méthode logout du SDK pour supprimer l’inscription push de l’appareil de l’utilisateur actuel et effectuer automatiquement des actions de nettoyage dans le SDK. La méthode logout effectue les opérations suivantes :

  • Désinscrit le jeton push de l’appareil de l’utilisateur actuel sur le serveur Braze.
  • Si l’appel de désinscription réussit, le SDK efface les données SDK stockées localement et désactive le SDK.
  • En cas d’échec, invoque le errorCallback pour permettre à l’intégrateur de prendre des mesures.

L’exemple suivant montre la gestion de logout basée sur des rappels. Utilisez-le lorsque vous avez besoin d’une gestion immédiate des succès et des erreurs, et remplacez la journalisation par le flux de votre application.

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);

Réactiver le suivi et les notifications push après logout

Après un logout réussi, appelez enableSDK(), puis réinscrivez-vous aux notifications auprès de votre système d’exploitation (OS) ou de votre fournisseur de notifications push en suivant la configuration des notifications push Web.

Éviter les appels de désinscription immédiats

Évitez d’appeler logout ou unregisterPush directement après l’inscription aux notifications push auprès de l’OS ou du fournisseur de notifications push. En raison du traitement asynchrone côté serveur, cela peut dans de rares cas réajouter le jeton push à l’utilisateur Braze.

Désinscription des notifications push

Pour cesser d’envoyer des notifications push à un appareil sans nettoyage automatique supplémentaire, utilisez la méthode unregisterPush. Celle-ci supprime le jeton push de l’appareil de l’utilisateur actuel sur le serveur Braze et efface le jeton stocké localement.

L’exemple suivant montre la gestion de unregisterPush basée sur des rappels. Utilisez-le lorsque vous avez besoin d’une gestion immédiate des succès et des erreurs, et remplacez la journalisation par le flux de votre application.

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);

Réinscrire les notifications push après unregisterPush

Après avoir appelé unregisterPush, réinscrivez-vous aux notifications auprès de votre OS ou de votre fournisseur de notifications push en suivant la configuration des notifications push Web avant d’envoyer à nouveau des notifications push Braze.

Éviter les appels de désinscription immédiats

Évitez d’appeler logout ou unregisterPush directement après l’inscription aux notifications push auprès de l’OS ou du fournisseur de notifications push. En raison du traitement asynchrone côté serveur, cela peut dans de rares cas réajouter le jeton push à l’utilisateur Braze.

Questionnaire sur la protection de la vie privée dans Google Play

À partir d’avril 2022, les développeurs Android devront remplir le formulaire de sécurité des données de Google Play pour divulguer leurs pratiques en matière de confidentialité et de sécurité. Ce guide fournit des instructions sur la façon de remplir ce nouveau formulaire avec des informations sur la manière dont Braze gère les données de votre application.

En tant que développeur d’applications, vous contrôlez les données que vous envoyez à Braze. Les données reçues par Braze sont traitées conformément à vos instructions. Google classifie ceci en tant que fournisseur de services.

Questions

Questions Réponses concernant le SDK Braze
Votre application collecte-t-elle ou partage-t-elle un des types de données utilisateur requis ? Oui, le SDK de Braze pour Android recueille des données telles que configurées par le développeur d’applications.
Toutes les données utilisateur collectées par votre application sont-elles chiffrées durant leur transit ? Oui.
Fournissez-vous un moyen aux utilisateurs de demander la suppression de leurs données ? Oui.

Pour plus d’informations sur la gestion des demandes des utilisateurs concernant leurs données et leur suppression, consultez Informations sur la rétention des données de Braze.

Collecte de données

Les données collectées par Braze sont déterminées par votre intégration spécifique et les données utilisateur que vous choisissez de recueillir. Pour en savoir plus sur les données que Braze collecte par défaut et comment désactiver certains attributs, consultez nos options de collecte de données du SDK.

Catégorie Type de données Utilisation par Braze
Localisation Localisation approximative Pas de collecte par défaut.
Localisation précise
Informations personnelles Nom
Adresse e-mail
ID utilisateur
Adresse
Numéro de téléphone
Race et ethnie
Convictions politiques ou religieuses
Orientation sexuelle
Autres informations
Informations financières Informations de paiement de l'utilisateur
Historique d'achats
Score de crédit
Autres informations financières
Santé et condition physique Informations sur la santé Pas de collecte par défaut.
Informations sur la condition physique
Messages E-mails Pas de collecte par défaut.
SMS ou MMS
Autres messages in-app Si vous envoyez des messages in-app ou des notifications push via Braze, nous collectons des informations sur le moment où les utilisateurs ont ouvert ou lu ces messages.
Photos et vidéos Photos Pas de collecte.
Vidéos
Fichiers audio Enregistrements vocaux ou sonores
Fichiers musicaux
Autres fichiers audio
Fichiers et documents Fichiers et documents
Calendrier Événements du calendrier
Contacts Contacts
Activité de l'application Interactions avec l'application Braze collecte les données d'activité de session par défaut. Toutes les autres interactions et activités sont déterminées par l'intégration personnalisée de votre application.
Historique de recherche dans l'application Pas de collecte.
Applications installées Pas de collecte.
Autre contenu généré par l'utilisateur Pas de collecte par défaut.
Autres actions
Navigation web Historique de navigation web Pas de collecte.
Informations sur l'application et performances Journaux de plantage Braze collecte les journaux de plantage pour les erreurs qui se produisent au sein du SDK. Ils contiennent le modèle de téléphone et le niveau d'OS de l'utilisateur, ainsi qu'un ID utilisateur spécifique à Braze.
Diagnostics Pas de collecte.
Autres données de performance de l'application Pas de collecte.
Appareil ou autres ID Appareil ou autres ID Braze génère un ID d'appareil pour différencier les appareils des utilisateurs et vérifier que les messages sont envoyés au bon appareil.

Pour en savoir plus sur les autres données d’appareils que Braze collecte et qui peuvent ne pas être couvertes par les directives de sécurité des données de Google Play, consultez notre aperçu du stockage Android et nos options de collecte de données du SDK.

Désactivation du suivi des données

Pour désactiver l’activité de suivi des données sur le SDK Android, utilisez la méthode disableSDK(). Cela entraînera l’annulation de toutes les connexions réseau, ce qui signifie que le SDK Braze ne transmettra plus aucune donnée aux serveurs Braze.

Effacer les données précédemment stockées

Vous pouvez utiliser la méthode wipeData() pour effacer complètement toutes les données côté client stockées sur l’appareil.

Reprise du suivi des données

Pour reprendre la collecte de données, vous pouvez utiliser la méthode enableSDK(). Veuillez noter que cela ne restaurera pas les données précédemment effacées.

Déconnexion et désinscription des notifications push

Le SDK Braze fournit des méthodes pour cesser de cibler un appareil lorsqu’un utilisateur se désinscrit des notifications push ou se déconnecte. Ces méthodes suppriment les données d’inscription push de l’utilisateur actuel sur le serveur Braze et dans le SDK, de sorte que Braze n’envoie plus de futures Campaigns de notifications push à cet utilisateur.

Déconnexion

Lorsqu’un utilisateur se déconnecte d’une application, appelez la méthode logout du SDK pour supprimer l’inscription push de l’appareil de l’utilisateur actuel et effectuer automatiquement des actions de nettoyage sur le SDK. La méthode logout effectue les opérations suivantes :

  • Désinscrit le jeton push de l’appareil de l’utilisateur actuel sur le serveur Braze.
  • Si l’appel de désinscription réussit, le SDK efface les données SDK stockées localement et désactive le SDK.
  • En cas d’échec, lève une erreur et un indicateur isRetriable pour permettre à l’intégrateur d’agir.

L’exemple de rappel suivant montre la gestion du succès et des erreurs de logout. Utilisez-le pour les flux de déconnexion basés sur des rappels, et remplacez la journalisation par votre logique de nouvelle tentative ou de ré-authentification.

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

L’exemple de coroutine suivant montre l’API suspensive logout. Utilisez-le dans les flux basés sur des coroutines et personnalisez les branches de succès et d’échec pour votre application.

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

Réactiver le suivi et les notifications push après logout

Après une déconnexion réussie via logout, réactivez le SDK avec enableSDK(), puis réinscrivez-vous aux notifications auprès de votre système d’exploitation (OS) ou de votre fournisseur de notifications push en suivant la configuration push Android.

Éviter les appels de désinscription immédiats

Évitez d’appeler logout ou unregisterPush directement après l’inscription aux notifications push auprès de l’OS ou du fournisseur de notifications push. En raison du traitement asynchrone côté serveur, cela peut dans de rares cas réajouter le jeton push à l’utilisateur Braze.

Désinscription des notifications push

Pour cesser d’envoyer des notifications push à un appareil sans nettoyage automatique supplémentaire, utilisez la méthode unregisterPush. Celle-ci supprime le jeton push de l’appareil de l’utilisateur actuel sur le serveur Braze et efface le jeton stocké localement.

L’exemple de rappel suivant montre comment gérer les résultats de unregisterPush. Utilisez-le lorsque votre flux est basé sur des rappels, et remplacez la journalisation par votre propre gestion des nouvelles tentatives.

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

L’exemple de coroutine suivant montre l’API suspensive unregisterPush. Utilisez-le dans les flux basés sur des coroutines et personnalisez les branches de succès et d’échec pour votre application.

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

Réinscrire les notifications push après unregisterPush

Après avoir appelé unregisterPush, réinscrivez-vous aux notifications auprès de votre OS ou de votre fournisseur de notifications push en suivant la configuration push Android avant d’envoyer à nouveau des notifications push Braze.

Éviter les appels de désinscription immédiats

Évitez d’appeler logout ou unregisterPush directement après l’inscription aux notifications push auprès de l’OS ou du fournisseur de notifications push. En raison du traitement asynchrone côté serveur, cela peut dans de rares cas réajouter le jeton push à l’utilisateur Braze.

Le manifeste de confidentialité d’Apple

Qu’est-ce que les données de suivi ?

Apple définit les « données de suivi » comme des données collectées dans votre application à propos d’un utilisateur final ou d’un appareil, liées à des données third-party (telles que la publicité ciblée) ou à un courtier en données. Pour une définition complète avec des exemples, consultez Apple : Suivi.

Par défaut, le SDK Braze ne collecte pas de données de suivi. Cependant, selon la configuration de votre SDK Braze, vous pourriez être amené à répertorier les données spécifiques à Braze dans le manifeste de confidentialité de votre application.

Qu’est-ce qu’un manifeste de confidentialité ?

Un manifeste de confidentialité est un fichier dans votre projet Xcode qui décrit les raisons pour lesquelles votre application et les SDK tiers collectent des données, ainsi que leurs méthodes de collecte. Chacun de vos SDK tiers qui effectue un suivi des données nécessite son propre manifeste de confidentialité. Lorsque vous créez le rapport de confidentialité de votre application, ces fichiers de manifeste de confidentialité sont automatiquement agrégés en un seul rapport.

Domaines de données de suivi d’API

À partir d’iOS 17.2, Apple bloquera tous les endpoints de suivi déclarés dans votre application jusqu’à ce que l’utilisateur final accepte une invite de transparence du suivi publicitaire (ATT). Braze fournit des endpoints de suivi pour acheminer vos données de suivi, tout en vous permettant d’acheminer les données first-party non liées au suivi vers l’endpoint d’origine.

Déclaration des données de suivi Braze

Prérequis

La version suivante du SDK Braze est requise pour implémenter cette fonctionnalité :

Étape 1 : Examiner vos politiques actuelles

Examinez les politiques actuelles de collecte de données de votre SDK Braze avec votre équipe juridique afin de déterminer si votre application collecte des données de suivi telles que définies par Apple. Si vous ne collectez aucune donnée de suivi, vous n’avez pas besoin de personnaliser votre manifeste de confidentialité pour le SDK Braze pour le moment. Pour plus d’informations sur les politiques de collecte de données du SDK Braze, consultez Collecte de données du SDK.

Étape 2 : Créer un manifeste de confidentialité

Tout d’abord, vérifiez si vous disposez déjà d’un manifeste de confidentialité en recherchant un fichier PrivacyInfo.xcprivacy dans votre projet Xcode. Si vous disposez déjà de ce fichier, vous pouvez passer à l’étape suivante. Sinon, consultez Apple : Créer un manifeste de confidentialité.

Étape 3 : Ajouter votre endpoint au manifeste de confidentialité

Dans votre projet Xcode, ouvrez le fichier PrivacyInfo.xcprivacy de votre application, puis faites un clic droit sur le tableau et cochez Raw Keys and Values.

Un projet Xcode avec le menu contextuel ouvert et « Raw Keys and Values » mis en surbrillance.

Sous App Privacy Configuration, choisissez NSPrivacyTracking et définissez sa valeur sur YES.

Le fichier « PrivacyInfo.xcprivacy » ouvert avec « NSPrivacyTracking » défini sur « YES ».

Sous App Privacy Configuration, choisissez NSPrivacyTrackingDomains. Dans le tableau de domaines, ajoutez un nouvel élément et définissez sa valeur sur l’endpoint que vous avez précédemment ajouté à votre AppDelegate préfixé par sdk-tracking.

Le fichier « PrivacyInfo.xcprivacy » ouvert avec un endpoint de suivi Braze répertorié sous « NSPrivacyTrackingDomains ».

Étape 4 : Déclarer vos données de suivi

Ensuite, ouvrez AppDelegate.swift puis listez chaque propriété de suivi que vous souhaitez déclarer en créant une liste de suivi statique ou dynamique. Gardez à l’esprit qu’Apple bloquera ces propriétés jusqu’à ce que l’utilisateur final accepte l’invite ATT, donc ne listez que les propriétés que vous et votre équipe juridique considérez comme des données de suivi. Par exemple :

Dans l’exemple suivant, dateOfBirth, customEvent et customAttribute sont déclarés comme données de suivi dans une liste statique.

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
  }
}

Dans l’exemple suivant, la liste de suivi est automatiquement mise à jour après que l’utilisateur final a accepté l’invite App Tracking Transparency (ATT). La demande d’autorisation lors de l’activation de l’application est un événement par scène, donc ce code appartient à la méthode sceneDidBecomeActive(_:) de votre fichier SceneDelegate.swift plutôt qu’à la méthode applicationDidBecomeActive(_:) de AppDelegate.swift (requis pour les applications qui ont adopté le cycle de vie UIScene). Votre instance Braze reste accessible depuis SceneDelegate via la propriété statique AppDelegate.braze configurée à l’étape 1.

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]
    )
  }
}

Étape 5 : Empêcher les boucles de tentatives infinies

Pour empêcher le SDK d’entrer dans une boucle de tentatives infinie, utilisez la méthode set(adTrackingEnabled: enableAdTracking) pour gérer les autorisations ATT. La propriété adTrackingEnabled dans votre méthode SceneDelegate.swift doit être gérée de manière similaire à ce qui suit :

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

Désactivation du suivi des données

Pour désactiver l’activité de suivi des données sur le SDK Swift, définissez la propriété enabled sur false dans votre instance Braze. Lorsque enabled est défini sur false, le SDK Braze ignore tous les appels à l’API publique. Le SDK annule également toutes les actions en cours, telles que les requêtes réseau, le traitement des événements, etc.

Effacer les données précédemment stockées

Vous pouvez utiliser la méthode wipeData() pour effacer complètement les données SDK stockées localement sur l’appareil d’un utilisateur.

Pour les versions 7.0.0 et ultérieures de Braze Swift, le SDK et la méthode wipeData() génèrent aléatoirement un UUID pour l’ID de l’appareil. Cependant, si votre useUUIDAsDeviceId est défini sur false ou si vous utilisez la version 5.7.0 ou antérieure du SDK Swift, vous devrez également effectuer une requête POST vers /users/delete car votre identifiant pour les fournisseurs (IDFV) sera automatiquement utilisé comme ID d’appareil de cet utilisateur.

Si vous utilisez l’intégration manuelle des notifications push et que votre application appelle wipeData() puis réactive le SDK au cours de la même exécution de l’application, appelez à nouveau registerForRemoteNotifications() afin que Braze puisse recevoir un jeton d’appareil actualisé. Pour plus d’informations, consultez la section configuration des notifications push.

Reprise du suivi des données

Pour reprendre la collecte de données, définissez enabled sur true. Gardez à l’esprit que cela ne restaurera pas les données précédemment effacées.

Déconnexion et désinscription des notifications push

Le SDK Braze fournit des méthodes pour cesser de cibler un appareil lorsqu’un utilisateur se désinscrit des notifications push ou se déconnecte. Ces méthodes suppriment les données d’inscription push de l’utilisateur actuel sur le serveur Braze et dans le SDK, de sorte que Braze n’envoie plus de futures Campaigns de notifications push à cet utilisateur.

Déconnexion

Lorsqu’un utilisateur se déconnecte d’une application, appelez la méthode logout du SDK pour supprimer l’inscription push de l’appareil de l’utilisateur actuel et effectuer automatiquement des actions de nettoyage dans le SDK. La méthode logout effectue les opérations suivantes :

  • Désinscrit le jeton push de l’appareil, ainsi que tous les jetons push-to-start des Live Activities, de l’utilisateur actuel sur le serveur Braze.
  • Si l’appel de désinscription réussit, le SDK efface les données SDK stockées localement et désactive le SDK.
  • En cas d’échec, une erreur est levée avec un indicateur isRetriable pour permettre à l’intégrateur d’agir.

L’exemple suivant avec gestionnaire de complétion montre la gestion du succès et de l’échec de logout. Utilisez-le pour les flux basés sur des rappels, et remplacez la journalisation par la logique de nouvelle tentative ou de ré-authentification de votre application.

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

L’exemple asynchrone suivant montre l’API suspensive logout. Utilisez-le pour les flux asynchrones et personnalisez les branches de succès et d’échec pour votre application.

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

Cet exemple Objective-C montre la gestion de logout basée sur la complétion. Utilisez-le dans les intégrations Objective-C et remplacez la journalisation par le flux de votre application.

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);
  }
}];

Réactiver le suivi et les notifications push après logout

Après un logout réussi, redéfinissez enabled sur true, puis réinscrivez-vous aux notifications auprès de votre système d’exploitation (OS) ou fournisseur de notifications push en suivant la configuration push Swift.

Éviter les appels de désinscription immédiats

Évitez d’appeler logout ou unregisterPush directement après l’inscription aux notifications push auprès de l’OS ou du fournisseur de notifications push. En raison du traitement asynchrone côté serveur, cela peut dans de rares cas réajouter le jeton push à l’utilisateur Braze.

Désinscription des notifications push

Pour cesser d’envoyer des notifications push à un appareil sans nettoyage automatique supplémentaire, utilisez la méthode unregisterPush. Celle-ci supprime le jeton push de l’appareil de l’utilisateur actuel sur le serveur Braze et efface le jeton stocké localement.

L’exemple suivant avec gestionnaire de complétion montre la gestion du succès et de l’échec de unregisterPush. Utilisez-le pour les flux basés sur des rappels, et remplacez la journalisation par votre propre logique de nouvelle tentative.

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

L’exemple asynchrone suivant montre l’API suspensive unregisterPush. Utilisez-le pour les flux asynchrones et personnalisez les branches de succès et d’échec pour votre application.

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

Cet exemple Objective-C montre la gestion de unregisterPush basée sur la complétion. Utilisez-le dans les intégrations Objective-C et remplacez la journalisation par le flux de votre application.

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);
  }
}];

Réinscrire les notifications push après unregisterPush

Après avoir appelé unregisterPush, réinscrivez-vous aux notifications auprès de votre OS ou fournisseur de notifications push en suivant la configuration push Swift avant d’envoyer à nouveau des notifications push Braze.

Éviter les appels de désinscription immédiats

Évitez d’appeler logout ou unregisterPush directement après l’inscription aux notifications push auprès de l’OS ou du fournisseur de notifications push. En raison du traitement asynchrone côté serveur, cela peut dans de rares cas réajouter le jeton push à l’utilisateur Braze.

Désinscrire les jetons push-to-start pour les Live Activities

Les Live Activities peuvent être démarrées à distance à l’aide de jetons push-to-start. Pour empêcher Braze de démarrer à distance des Live Activities sur un appareil, appelez la méthode unregisterPushToStart pour désinscrire tous les types actuellement enregistrés (par défaut) ou une liste spécifique de types d’Activity.

Notez que les Live Activities en cours d’exécution continuent de recevoir des mises à jour et que cette méthode supprime uniquement la possibilité de démarrer de nouvelles activités à distance. Pour plus d’informations sur les Live Activities, consultez Live Activities.

L’exemple suivant montre comment désinscrire tous les types d’activités push-to-start. Utilisez-le lorsqu’un utilisateur déconnecté ne doit plus recevoir de nouvelles Live Activities démarrées à distance.

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

L’exemple suivant montre comment désinscrire des types d’activités spécifiques. Utilisez-le lorsque seules certaines Live Activities doivent cesser d’être démarrées à distance.

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

Collecte de l’IDFV

Dans les versions précédentes du SDK iOS de Braze, le champ IDFV (Identifier for Vendor) était automatiquement collecté en tant qu’ID d’appareil de l’utilisateur. À partir du SDK Swift v5.7.0, le champ IDFV pouvait être désactivé de manière optionnelle, et Braze définissait à la place un UUID aléatoire comme ID d’appareil. À partir du SDK Swift v7.0.0, le champ IDFV n’est plus collecté par défaut, et un UUID est défini comme ID d’appareil à la place.

La fonctionnalité useUUIDAsDeviceId configure le SDK Swift pour définir l’ID d’appareil en tant qu’UUID. Traditionnellement, le SDK iOS attribuait à l’ID d’appareil la valeur IDFV générée par Apple. Avec cette fonctionnalité activée par défaut sur votre application iOS, tous les nouveaux utilisateurs créés via le SDK se voient attribuer un ID d’appareil égal à un UUID.

Si vous souhaitez toujours collecter l’IDFV séparément, vous pouvez utiliser set(identifierforvendor:).

Considérations

Version du SDK

Dans le SDK Swift v7.0.0+, lorsque useUUIDAsDeviceId est activé (par défaut), tous les nouveaux utilisateurs créés se voient attribuer un ID d’appareil aléatoire. Tous les utilisateurs existants conservent la même valeur d’ID d’appareil, qui peut avoir été l’IDFV.

Lorsque cette fonctionnalité n’est pas activée, les appareils continuent de se voir attribuer l’IDFV lors de leur création.

En aval

Partenaires technologiques : lorsque cette fonctionnalité est activée, les partenaires technologiques qui dérivent la valeur IDFV à partir de l’ID d’appareil Braze n’auront plus accès à cette donnée. Si la valeur IDFV dérivée de l’appareil est nécessaire pour votre intégration partenaire, nous vous recommandons de définir cette fonctionnalité sur false.

Currents : useUUIDAsDeviceId défini sur true signifie que l’ID d’appareil envoyé dans Currents ne sera plus égal à la valeur IDFV.

Questions fréquemment posées

Ce changement aura-t-il un impact sur mes utilisateurs existants dans Braze ?

Non. Lorsqu’elle est activée, cette fonctionnalité n’écrase aucune donnée utilisateur dans Braze. Les nouveaux ID d’appareil UUID ne seront créés que pour les nouveaux appareils ou lorsque wipedata() est appelé.

Puis-je désactiver cette fonctionnalité après l’avoir activée ?

Oui, cette fonctionnalité peut être activée et désactivée à votre convenance. Les ID d’appareil précédemment stockés ne seront jamais écrasés.

Puis-je toujours capturer la valeur IDFV via Braze ailleurs ?

Oui, vous pouvez toujours collecter l’IDFV de manière optionnelle via le SDK Swift (la collecte est désactivée par défaut).

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK React Native Braze.

Désactivation du suivi des données

Pour désactiver la collecte de données, utilisez la méthode disableSDK. Après l’appel de cette méthode, le SDK Braze cesse d’envoyer des données aux serveurs Braze.

1
Braze.disableSDK();

Reprise du suivi des données

Pour reprendre la collecte de données après l’avoir désactivée, utilisez la méthode enableSDK.

1
Braze.enableSDK();

Effacer les données

Pour supprimer toutes les données du SDK Braze stockées localement sur l’appareil, utilisez la méthode wipeData. Après avoir appelé cette méthode, le SDK est désactivé et doit être réactivé avec enableSDK.

1
Braze.wipeData();

Envoi immédiat des données

Pour demander un envoi immédiat de toutes les données en attente vers les serveurs Braze, utilisez requestImmediateDataFlush.

1
Braze.requestImmediateDataFlush();

Définition de l’activation du suivi publicitaire

Pour indiquer à Braze si le suivi publicitaire est activé pour cet appareil, utilisez la méthode setAdTrackingEnabled. Le SDK ne collecte pas automatiquement ces données.

1
Braze.setAdTrackingEnabled(true, "GOOGLE_ADVERTISING_ID");

Le second paramètre est l’ID publicitaire Google et n’est utilisé que sur Android.

Mise à jour de la liste d’autorisation des propriétés de suivi (iOS uniquement)

Pour mettre à jour la liste des types de données déclarés pour le suivi, utilisez updateTrackingPropertyAllowList. Cette méthode est sans effet sur Android.

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: []
});

Pour plus d’informations, consultez Manifeste de confidentialité.

Déconnexion et désinscription des notifications push

Cette fonctionnalité n’est pas encore prise en charge par le SDK React Native.

Conditions préalables

Avant de pouvoir utiliser cette fonctionnalité, vous devrez intégrer le SDK Roku Braze.

Effacer les données précédemment stockées

Le SDK Roku n’inclut pas de méthode wipeData. Pour obtenir un état vierge fonctionnellement équivalent à wipeData() sur les autres SDK Braze, effacez les quatre sections de registre Braze, puis réinitialisez le SDK.

Le SDK Roku de Braze conserve les données dans les sections de registre suivantes :

Section Contenu
braze.section.device_id L’UUID de l’appareil utilisé pour identifier cet appareil dans Braze.
braze.section.user_id L’ID utilisateur externe, s’il a été défini.
braze.section.session L’UUID de la session active, l’heure de début et l’heure de fin.
braze.section.config La configuration du SDK mise en cache et les données de feature flags.

Étape 1 : Effacer les sections de registre

Utilisez roRegistry.Delete() pour supprimer chaque section Braze, puis appelez Flush() pour persister les modifications :

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

Étape 2 : Réinitialiser le SDK Braze

Lorsque vous initialisez à nouveau le SDK Braze, le SDK gère l’absence de données de registre de manière transparente :

  • La section de l’ID d’appareil est vide, le SDK génère donc un nouvel UUID et traite l’appareil comme anonyme.
  • La section de l’ID utilisateur est vide, le SDK utilise donc par défaut un utilisateur anonyme (une chaîne de caractères vide "").
  • La section de session est vide, le SDK démarre donc une nouvelle session.
  • La section de configuration est vide, le SDK récupère donc la configuration depuis le serveur.

Déconnexion et désinscription des notifications push

Cette fonctionnalité n’est pas encore prise en charge par le sdk Roku.

New Stuff!