En bref : cet article est destiné aux clients AppsFlyer (également appelés annonceurs ou propriétaires d'apps) qui utilisent la plate-forme AppsFlyer pour enregistrer l'utilisation et l'attribution de l'app. Les propriétaires d'apps implémentent l'API OpenGDPR pour se conformer aux lois de protection des données applicables comme le RGPD (Europe), la CCPA (Californie), la LGPD (Brésil) et le PDPA (Thaïlande).
Un message de nos avocats : rien de ce qui est énoncé ici n'a valeur de conseil juridique. Les éléments ne sont fournis qu'à titre d'information. Vous devez travailler en étroite collaboration avec des conseillers juridiques ou assimilés pour déterminer avec précision comment le RGPD, la CCPA ou toute autre loi doit s'appliquer à votre cas.La relation de confidentialité qui existe entre AppsFlyer et vous est régie par la politique de confidentialité des services AppsFlyer. Pour toute question relative à la présente Politique de confidentialité des services ou pour contacter notre délégué à la protection des données, veuillez nous envoyer un e-mail à privacy@appsflyer.com. Aux fins de l'article 27 du Règlement général sur la protection des données, le représentant d'AppsFlyer au sein de l'UE est AppsFlyer Germany GmbH Kurfürstendamm 11, c/o WeWork, 10719 Berlin, Allemagne (contact : privacy@appsflyer.com ; +49-30-3119-9129)
Politiques de confidentialité
Dans cet article, les références aux règles de confidentialité incluent les réglementations détaillées dans le tableau suivant.
Réglementation | Logo | Description |
---|---|---|
RGPD | ![]() |
Le Règlement Général sur la Protection des Données est une réglementation de l'UE relative à la protection des données et à la vie privée des citoyens de l'Union Européenne |
CCPA | ![]() |
California Consumer Privacy Act |
LGPD | ![]() |
Lei Geral de Proteção de Dados |
PDPA | ![]() |
Loi sur la protection des renseignements personnelles (PDPA) |
L'initiative RGPD
Pour traiter les demandes des personnes sujettes des données, conformément aux règles de confidentialité, AppsFlyer, en collaboration avec mParticle, Amplitude et Braze, ont lancé le protocole OpenGDPR.
OpenGDPR est un cadre unifié et open-source, facilitant la coopération entre les entreprises technologiques pour l'utilisation équitable et transparente des données des consommateurs. Il permet aux fournisseurs de prendre des mesures de confidentialité des données sur systèmes multiples pour traiter et stocker les données client.
Pour en savoir plus sur cette initiative, cliquez ici.
Définitions
Termes RGPD | Termes Appsflyer | Description |
---|---|---|
Personne concernée | Utilisateur d'app ou utilisateur final | L'utilisateur d'app dont les données sont collectées |
Responsable du traitement des données | Propriétaire d'app ou annonceur | Le propriétaire d'app détermine le but et les moyens par lesquels les données personnelles sont traitées. |
Processeur de données | AppsFlyer et ses partenaires | AppsFlyer et ses partenaires traitent les données personnelles au nom du responsable du traitement des données |
Exigences du RGPD
Le RGPD détaille les droits obligatoires de la personne sujette des données, que le responsable des données doit respecter. Pour servir l'API, ces droits sont traduits en types de demande. Les informations suivantes expliquent comment AppsFlyer traite les différents types de demande.
Type de demande (Droit) |
Définition du RGPD |
Traitement de la demande par AppsFlyer |
---|---|---|
Accès |
|
Les propriétaires de l'app reçoivent une copie du traitement des données personnelles de l'utilisateur de l'app. |
Portabilité |
L'utilisateur de l'app doit recevoir toutes ses données personnelles sous un format structuré, communément utilisé et lisible par une machine, comme un fichier CSV. |
Le propriétaire de l'app reçoit une copie du traitement des données personnelles de l'utilisateur de l'app. |
Rectification |
Permet aux utilisateurs d'app de corriger leurs données s'ils voient qu'elles sont inexactes ou erronées. Les propriétaires d'app ont le devoir d'effacer ou corriger les données inexactes ou incomplètes. |
|
Effacement |
Le droit à l'effacement oblige les propriétaires d'app à supprimer toutes les données personnelles dans un délai d'un mois après réception de la demande. |
Les données sont effacées |
API de demande RGPD d'AppsFlyer
Pour implémenter la conformité GDPR, utilisez l'API de demande RGPD tel que décrit dans ce chapitre.
- Demande RGPD - Effectuer l'un des types de demande ci-dessus: accès, portabilité, effacement, rectification.
- Demande d'état - Interroger l'état actuel d'une demande RGPD
- Demande de découverte : Se renseigner sur la version de l'API et le format de données pris en charge
- Annulation : annuler une demande RGPD pendant sa phase traitement en cours.
Les propriétaires d'apps doivent apporter des modifications dans l'IU de leur app avant que les utilisateurs de l'app ne puissent remplir une demande. Notez que chaque demande RGPD ne concerne qu'un utilisateur à la fois.
1. Demande RGPD
Flux de demande RGPD
Les types de demande RGPD, que ce soit l'accès, la portabilité, l'effacement ou la rectification, suivent la même procédure :
- Un utilisateur de l'app soumet une demande.
- Le propriétaire de l'app élabore la demande RGPD (voir ci-dessous) puis l'envoie à AppsFlyer.
- AppsFlyer reçoit la demande et répond par un "201 OK" pour les demandes valides.
- Durant les 48 heures suivantes, la demande est mise dans la file d'attente, son état est pending. L'utilisateur de l'app peut encore annuler la demande.
- Les 48 heures écoulées, l'état de la demande passe à in_progress.AppsFlyer envoie un postback 'changement de status'. La demande ne peut plus être annulée.
- a) En 28 jours maximum, AppsFlyer accède à la demande.
Dans le cas d'un effacement ou d'une rectification, les données de l'utilisateur de l'app sont supprimées.
Dans le cas d'une portabilité ou d'un accès, les données de l'utilisateur de l'app sont accessibles dans la section RGPD du tableau de bord AppsFlyer, ou bien via l'API Request (voir ci-dessous).
b) Le statut de la demande passe à completed (terminé).AppsFlyer envoie un postback de modification de statut.
Format de la demande RGPD
Une API de demande RGPD peut être envoyée via HTTP POST au point de terminaison suivant -
https://hq1.appsflyer.com/gdpr/opengdpr_requests?api_token=[api token]
Le jeton d'API est le même jeton d'API utilisé pour l'API Pull. L'administrateur récupère le jeton d'API Pull depuis la page du jeton d'API du tableau de bord.
Nom de la propriété | Obligatoire | Description |
---|---|---|
subject_request_id | Oui | Chaîne UUID v4. Générée par le responsable du traitement au moment de la soumission de la demande à un processeur. Elle peut ensuite être utilisée pour vérifier l'état de la demande, la mettre à jour ou l'annuler. |
subject_request_type | Oui |
Valeur de chaîne représentant le type de demande RGPD. Valeurs prises en charge :
|
subject_identities | Oui |
|
submitted_time | Oui |
|
property_id | Oui |
Chaîne représentant l'application mobile à laquelle cette�demande est étendue Exemples :
|
api_version | Non | Chaîne de version représentant la version souhaitée de l'API de demandes RGPD |
status_callback_urls | Oui |
|
Type d'élément | Obligatoire | Description |
---|---|---|
identity_type | Oui |
|
identity_value | Oui |
|
identity_format | Oui |
|
Exemple de demande d'effacement RGPD
curl --location --request POST 'https://hq1.appsflyer.com/gdpr/opengdpr_requests?api_token=[api_token]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"subject_request_id":"f4e5a271-f25e-4107-b681-************",
"subject_request_type":"erasure",
"submitted_time":"2020-07-05T10:00:00Z",
"subject_identities":[
{
"identity_type":"android_advertising_id",
"identity_value":"55*****-****-****-************",
"identity_format":"raw"
}
],
"api_version":"0.1",
"property_id":"com.*********.*******.********",
"status_callback_url":"https://examplecontroller.com/opengdpr_callbacks",
]
}'
Exemple de code de demande RGPD d'effacement
/*
using the okhttp package install from maven
https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
*/
import okhttp3.*;
import java.io.IOException;
public class GdprSendRequest {
public static void main(String[] args){
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(null, "" +
"{\r\n\"subject_request_id\": \"<SUBJECT_ID>\"," +
"\r\n\"subject_request_type\": \"erasure\"," +
"\r\n\"submitted_time\": \"2018-11-02T15:00:00Z\"," +
"\r\n\"subject_identities\": [\r\n" +
"{\r\n\"identity_type\": \"android_advertising_id\"," +
"\r\n\"identity_value\": \"<ADVERTISING_ID>\"," +
"\r\n\"identity_format\": \"raw\"\r\n}" +
"\r\n]," +
"\r\n\"property_id\": \"com.example.application\"}");
Request request = new Request.Builder()
.url("https://hq1.appsflyer.com/gdpr/opengdpr_requests?api_token=<API_TOKEN>")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.build();
try {
Response response = client.newCall(request).execute();
System.out.println(response.code());
System.out.println(response.body().string());
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
System.exit(1);
}
}
}
""" using the requests python package,
install using pip install requests """
import requests
import json
headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}
params = {
"api_token": ""
}
body = {
"subject_request_id": "",
"subject_request_type": "erasure",
"submitted_time": "2018-10-02T15:00:00Z",
"subject_identities": [
{ "identity_type": "android_advertising_id",
"identity_value": "",
"identity_format": "raw" }
],
"property_id": "com.example.application"
}
body = json.dumps(body)
res = requests.request("POST",
"https://hq1.appsflyer.com/gdpr/opengdpr_requests",
headers=headers, data=body, params=params)
print(res.text)
/* using the request npm package,
install using npm install request */
var request = require("request");
var options = { method: 'POST',
url: 'https://hq1.appsflyer.com/gdpr/opengdpr_requests',
qs: { api_token: '' },
headers:
{ Accept: 'application/json',
'Content-Type': 'application/json' },
body:
{ subject_request_id: '<SUBJECT_ID>',
subject_request_type: 'erasure',
submitted_time: '2018-10-02T15:00:00Z',
subject_identities:
[ { identity_type: 'android_advertising_id',
identity_value: '<ADVERTISING_ID>',
identity_format: 'raw' } ],
property_id: 'com.example.application'
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
using System;
using RestSharp;
namespace CS
{
class Gdpr
{
static void Main(string[] args)
{
var url = "https://hq1.appsflyer.com/gdpr/opengdpr_requests";
var apiToken = "?api_token=<API_TOKEN>";
var client = new RestClient(url + apiToken);
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
Request.AddHeader("Accept", "application/json");
var body = "{\r\n\"subject_request_id\": \"<SUBJECT_ID>\"," +
"\r\n \"subject_request_type\": \"erasure\"," +
"\r\n \"submitted_time\": \"2018-11-02T15:00:00Z\"," +
"\r\n \"subject_identities\": [\r\n" +
"{ \r\n \"identity_type\": \"android_advertising_id\"," +
"\r\n \"identity_value\": \"<ADVERTISING_ID>\"," +
"\r\n \"identity_format\": \"raw\"\r\n }" +
"\r\n ]," +
"\r\n \"property_id\": \"com.example.application\"}";
request.AddParameter("undefined", body,ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
// handle response by reading response.StatusCode
Console.WriteLine(response.Content);
}
}
}
2. État de la demande
Chaque demande RGPD peut être interrogée ultérieurement pour connaître son état, en spécifiant le subject_request_id
. Il existe 4 types d'état pris en charge :
- pending - Une demande correcte a été reçue et est actuellement en file d'attente
- in_progress - Une demande est actuellement en cours d'exécution
- completed - Une demande a été satisfaite
- cancelled - Une demande a été annulée
Format de l'état de la demande
Une demande d'état peut être envoyée via HTTP GET au point de terminaison suivant :
https://hq1.appsflyer.com/gdpr/opengdpr_requests/[subject_request_id]?api_token=[api token]
Exemple de réponse concernant l'état
HTTP/1.1 200 OK
Content-Type: application/json
X-OpenGDPR-Processor Domain: example processor.com
X-OpenGDPR-Signature:
kiGlog3PdQx+FQmB8wYwFC1fekbJG7Dm9WdqgmXc9uKkFRSM4uPzylLi7j083461xLZ+mUloo3tpsmyIZpt5eMfgo7ejXPh6lqB4ZgCnN6+1b6Q3NoNcn/+11UOrvmDj772wvg6uIAFzsSVSjMQxRs8LAmHqFO4cF2pbuoPuK2diHOixxLj6+t97q0nZM7u3wmgkwF9EHIo3C6G1SI04/odvyY/VdMZgj3H1fLnz+X5rc42/wU4974u3iBrKgUnv0fcB4YB+L6Q3GsMbmYzuAbe0HpVA17ud/bVoyQZAkrW2yoSy1x4Ts6XKba6pLifIHf446Bubsf5r7x1kg6Eo7B8zur666NyWOYrglkOzU4IYO8ifJFRZZXazOgk7ggn9obEd78GBc3kjKKZdwaCrLx7WV5y9TMDCf+2FILOJM/MwTUy1dLZiaFHhGdzld2AjbjK1CfVzyPssch0iQYYtbR49GhumvkYl11S4oDfu0c3t/xUCZWg0hoR3XL3B7NjcrlrQinB1KbyTNZccKR0F4Lk9fDgwTVkrAg152UqPyzXxpdzXjfkDkSEgAevXQwVJWBNf18bMIEgdH2usF/XauQoyrne7rcMIWBISPgtBPj3mhcrwscjGVsxqJva8KCVCKD/4Axmo9DISib5/7A6uczJxQG2Bcrdj++vQqK2succ=
{
"controller_id":"example_controller_id",
"expected_completion_time":"2018-11-01T15:00:01Z",
"subject_request_id":"a7551968-d5d6-44b2-9831-815ac9017798",
"request_status":"pending",
"api_version":"0.1"
}
Postbacks de l'état
Tel que décrit dans la section Flux de demande RGPD ci-dessus, lorsque l'état de la demande RGPD passe de pending à in_progress à completed, AppsFlyer envoi un postback RGPD aux points de terminaisons demandeurs, spécifiée avec la propriété status_callback_urls .
Exemple de postback d'état :
POST /opengdpr_callbacks HTTP/1.1
Host: examplecontroller.com
Content-Type: application/json
X-OpenGDPR-Processor Domain: appsflyer.com
X-OpenGDPR-Signature: kiGlog3PdQx+FQmB8wYwFC1fekbJG7Dm9WdqgmXc9uKkFRSM4uPzylLi7j083461xLZ+mUloo3tpsmyIZpt5eMfgo7ejXPh6lqB4ZgCnN6+1b6Q3NoNcn/+11UOrvmDj772wvg6uIAFzsSVSjMQxRs8LAmHqFO4cF2pbuoPuK2diHOixxLj6+t97q0nZM7u3wmgkwF9EHIo3C6G1SI04/odvyY/VdMZgj3H1fLnz+X5rc42/wU4974u3iBrKgUnv0fcB4YB+L6Q3GsMbmYzuAbe0HpVA17ud/bVoyQZAkrW2yoSy1x4Ts6XKba6pLifIHf446Bubsf5r7x1kg6Eo7B8zur666NyWOYrglkOzU4IYO8ifJFRZZXazOgk7ggn9obEd78GBc3kjKKZdwaCrLx7WV5y9TMDCf+2FILOJM/MwTUy1dLZiaFHhGdzld2AjbjK1CfVzyPssch0iQYYtbR49GhumvkYl11S4oDfu0c3t/xUCZWg0hoR3XL3B7NjcrlrQinB1KbyTNZccKR0F4Lk9fDgwTVkrAg152UqPyzXxpdzXjfkDkSEgAevXQwVJWBNf18bMIEgdH2usF/XauQoyrne7rcMIWBISPgtBPj3mhcrwscjGVsxqJva8KCVCKD/4Axmo9DISib5/7A6uczJxQG2Bcrdj++vQqK2succ=
{
"controller_id":"example controller id at the processor",
"expected_completion_time":"2018-11-01T15:00:01Z",
"status_callback_url":"https://examplecontroller.com/opengdpr_callbacks",
"Subject_request_id":"a7551968-d5d6-44b2-9831-815ac9017798",
"Request_status":"pending"
}
3. Demande de rapport
Une fois qu'une demande d'accès ou une demande de portabilité a été effectuée, vous pouvez télécharger le rapport via HTTP GET au point de terminaison suivant :
https://hq1.appsflyer.com/gdpr/download/[REQUEST_ID]?api_token=[TOKEN]
Le rapport généré est disponible pendant quatorze jours à compter de la date d'achèvement.
4. Demande de découverte
Pour en savoir plus sur les formats pris en charge par AppsFlyer, une demande de découverte peut être soumise via HTTP GET au point de terminaison suivant :
https://hq1.appsflyer.com/gdpr/discovery?api_token=[api token]
Exemple de réponse à une demande de découverte
HTTP/1.1 200 OK
Content-Type: application/json
{
"api_version": "0.1",
"supported_identities": [
{
"identity_type": "android_advertising_id",
"identity_format": "raw"
},
],
"supported_subject_request_types": [
"erasure", "access", "portability", "rectification"
],
"processor_certificate": "https://exampleprocessor.com/cert.pem"
}
5. Demande d'annulation
Il est possible d'annuler une demande RGPD selon son subject_request_id
, mais uniquement pendant la phase pending.
Pour ce faire, envoyez un HTTP DELETE avec subject_request_id
à :
https://hq1.appsflyer.com/gdpr/opengdpr_requests/[subject_request_id]?api_token=[api token]
Réponse à une demande d'annulation
Lors de la réception d'une demande d'annulation RGPD, AppsFlyer renvoie une réponse HTTP avec le code d'état 202 et plusieurs autres paramètres.
Une fois l'annulation de la demande effectuée, AppsFlyer envoie un postback avec l'état canceled (annulé).
6. API de test des demandes RGPD
Cette API AppsFlyer est une API test pour l'API des demandes RGPD d'AppsFlyer.
Comment fonctionne l'API de test ?
L'API de test fonctionne comme suit :
1. Une fois qu'une demande RGPD a été effectuée, celle-ci passe immédiatement à l'état « Pending ». À des fins de test, l'état change toutes les 30 secondes.
2. Si un point de terminaison pour un postback d'état a été inséré dans la demande RGPD, un premier postback est envoyé directement après la demande, et deux autres postbacks d'état sont envoyées par intervalles de 30 secondes.
Point de terminaison du test de demande RGPD :
https://hq1.appsflyer.com/gdpr/stub?api_token=[api token]
Point de terminaison du test de demande d'état :
https://hq1.appsflyer.com/gdpr/stub/[request id]?api_token=[api token]
Point de terminaison du test de demande de découverte :
https://hq1.appsflyer.com/gdpr/stub/discovery?api_token=[api token]
Point de terminaison du test de demande d'annulation :
https://hq1.appsflyer.com/gdpr/stub/[request id]?api_token=[api token]
Remarques
- Un token d'API valide doit être inséré avec la demande.
- Dans la propriété « property_id », l'ID de l'app doit appartenir au propriétaire du compte (en fonction du token de l'API).
7. Demande de journaux
L'administrateur de compte peut accéder aux demandes de GDPR soumises dans le tableau de bord des journaux.
Pour les demandes d'accès et de portabilité terminées, il est également possible de télécharger le rapport depuis ce tableau de bord.
Pour accéder au tableau de bord Logs :
- Rendez-vous sur le tableau de bord principal et cliquez sur votre nom d'utilisateur.
- Cliquez sur Logs pour ouvrir la fenêtre suivante :
8. Codes de retour et messages d'erreur de l'API de demande RGPD
Les codes de retour et messages d'erreur HTTP de l'API de demande RGPD sont présentés dans ce chapitre.
Code de retour | Description |
---|---|
201 | Créé |
202 | Demande d'annulation reçue |
400 |
Demande incorrecte. Le corps contient le code et le message d'erreur tels qu'indiqués dans le tableau suivant. |
Code de retour HTTP 400 - demande incorrecte
Les messages avec code de retour 400 contiennent un JSON indiquant le code et le message d'erreur.
{ "error":
{ "Code":400, "af_gdpr_code": "%AF error code%", "message":"%error message text%"
}
}
Code d'erreur |
Description de l'erreur (message) |
---|---|
e111 | Taux maximal dépassé |
e211 | Impossible d'annuler une demande dont le statut est invalide |
e212 | Demande non autorisée. L'effacement d'identifiant est en cours. |
e213 | La demande existe déjà |
e214 | Demande non trouvée |
e311 | Type de contenu de demande invalide |
e312 | Version d'API invalide |
e313 | subject_request_id invalide |
e314 | Format de submit_time invalide |
e315 | Longueur de status_callback_url invalide |
e316 | Format de status_callback_url invalide |
e317 | Format de app_id invalide |
e318 | identity_type invalide |
e319 | La plate-forme d'application ne correspond pas aux types d'identité |
e320 | identity_type invalide |
e321 | Utilisateurs LAT non pris en charge via api |
e322 | subject_request_type invalide |
e323 | Format de subject_identities invalide |
e324 | Longueur de subject_identities invalide |
e325 | Valeur de subject_identities invalide |
e411 | L'ID d'app est incorrect ou ne fait pas partie de votre compte |
e412 | Vous n'avez pas l'autorisation pour annuler la demande d'effacement |
e413 | Vous n'avez pas l'autorisation pour afficher la demande |
e511 | Problème interne, veuillez patienter 60 minutes avant de réessayer. Si le problème persiste, contactez l'assistance AppsFlyer. support@AppsFlyer.com |
Limites
- Limite autorisée : 80 demandes de RGPD toutes les 2 minutes au niveau du compte.
Exclusion
Le présent article est destiné à l'usage des clients AppsFlyer et non aux utilisateurs de l'app. Si vous êtes un utilisateur de l'app et que vous souhaitez vous désabonner, vous devez contacter l'éditeur de l'application (propriétaire).
Toutes les personnes concernées ont le droit à la limitation du traitement de leurs données. Lorsque les personnes concernées exercent ce droit, les responsables du traitement des données doivent cesser de traiter les données personnelles des personnes concernées en toutes circonstances, y compris en supprimant les utilisateurs de tout marketing direct.
Pour arrêter toutes les fonctions du SDK sur un périphérique mobile, utilisez l'API isStopTracking. Une fois cette API appelée, le SDK AppsFlyer cesse de fonctionner et n'envoie plus d'informations aux serveurs d'AppsFlyer.
Code développeur
Les détails destinés aux développeurs sont présentés ci-dessous.
Disponible à partir de l'Android SDK v. 4.8.7.
AppsFlyerLib.getInstance().stopTracking(true, context);
Dans chaque événement, le SDK peut être réactivé en appelant la même API, si le résultat est faux.
Avertissement
Utilisez cette API uniquement lorsque vous souhaitez arrêter toute fonction du SDK AppsFlyer pour un utilisateur. L'utilisation de cette API impacte FORTEMENT votre reporting et votre attribution.
Disponible à partir de l'IOS SDK v. 4.8.3.
AppsFlyerTracker.shared().isStopTracking = true
[AppsFlyerTracker sharedTracker].isStopTracking = true;
Disponible à partir de l'IOS SDK v. 4.8.3.
AppsFlyerLib.shared().isStopped = true
[AppsFlyerLib shared].isStopped = true;
Pour exclure explicitement, utilisez l'API suivante lors de l'initialisation du SDK :
public void setDeviceTrackingDisabled(boolean isDisabled);
Exemple d'utilisation :
AppsFlyer.setDeviceTrackingDisabled(true);
Il est possible de reprendre les fonctions du SDK en appelant de nouveau deviceTrackingDisabled
défini sur false.
Avertissement
Le fait d'exclure des utilisateurs nuit GRAVEMENT à vos informations d'attribution.Utilisez cette option UNIQUEMENT pour les régions dans lesquelles vous êtes légalement tenu de ne pas collecter les informations de vos utilisateurs.
Pour exclure explicitement, utilisez l'API suivante lors de l'initialisation du SDK :
void anonymizeUser(bool shouldAnonymizeUser)
Exemple d'utilisation :
AppsFlyer.anonymizeUser(true);
Il est possible de reprendre les fonctions du SDK en appelant de nouveau anonymizeUser
défini sur false.
Avertissement
Le fait d'exclure des utilisateurs nuit GRAVEMENT à vos informations d'attribution.Utilisez cette option UNIQUEMENT pour les régions dans lesquelles vous êtes légalement tenu de ne pas collecter les informations de vos utilisateurs.
Découvrez les différents cas d'exclusions, et leur mise en œuvre.