Info
Contenu

ConsentManager SDK GDPR / CCPA pour Android

La solution ConsentManager Le SDK pour les applications Android implémente et fournit des fonctionnalités pour informer l'utilisateur sur la protection des données et demander et recueillir le consentement de l'utilisateur. Il permet aux développeurs d'applications d'intégrer facilement le ConsentManager service dans leur application.

Normes prises en charge

La solution ConsentManager Le SDK GDPR / CCPA pour Android prend en charge les normes industrielles suivantes:

  • TCF de l'IAB v1
  • TCF de l'IAB v2
  • IAB USPrivacy v1
  • ConsentManager fournisseurs / objectifs personnalisés
  • Mode de consentement supplémentaire Google (chaîne Google AC)

Comment ça marche

  1. Intégrez le SDK dans l'application et configurez les paramètres du SDK
  2. Une fois le SDK intégré dans une application, le SDK fournira des fonctions au développeur de l'application afin de récupérer les données de consentement
  3. Dès que l'application démarre, le SDK récupère automatiquement les informations du ConsentManager serveurs afin de préparer le SDK à son utilisation.
  4. Il est recommandé qu'au démarrage de l'application, l'application crée une instance de classe CMPConsentTool. Une fois le fichier créé, le SDK affichera automatiquement l'écran de consentement si nécessaire.
  5. Lorsque l'application souhaite traiter des données personnelles, elle doit «demander» au SDK si le consentement a été donné pour l'objectif et le fournisseur spécifiques.

L’installation

Dépôt sur Bitbucket: https://bitbucket.org/consentmanager/android-consentmanager/src/master/

gradle

Étape 1. Ajoutez le référentiel jitpack à votre build.gradle racine à la fin des référentiels:

allprojects {  
  repositories {    
    ...    
    maven { url 'https://jitpack.io' }  
  }
}

Étape 2. Ajoutez la dépendance à vos applications build.gradle. (Pour toujours obtenir la dernière version, utilisez le symbole + pour obtenir les dernières mises à jour. Vous pouvez par exemple toujours obtenir les dernières versions pour les mises à jour mineures via 1.x.+)

dependencies {
  implementation 'org.bitbucket.consentmanager:android-consentmanager:1.5.+'
}

Maven

Étape 1. Ajoutez le référentiel jitpack à votre build.gradle à la fin des référentiels:

    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

Étape 2. Ajoutez la dépendance à vos applications build.gradle. (Pour toujours obtenir la dernière version dans maven, vous pouvez utiliser différentes méthodes pour décliner la plage de versions. Vous pouvez les rechercher ici )

    <dependency>
        <groupId>org.bitbucket.consentmanager</groupId>
        <artifactId>android-consentmanager</artifactId>
        <version>1.5.7</version>
    </dependency>

Utilisation de la bibliothèque

Permissions

Ce SDK nécessite les autorisations suivantes, veuillez vous assurer de les ajouter à votre AndroidManifest.xml:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

Lancer l'outil ConsentTool

Avec l'app-start (généralement votre fonction viewDidAppear), vous devez créer une instance de la classe CMPConsentTool. Cela récupérera automatiquement les données nécessaires de notre serveur et déterminera si l'écran de consentement doit être affiché ou non. Si tel est le cas, le SDK affichera automatiquement l'écran de consentement à ce stade, collectera les données et fournira les données à l'application. L'instance peut ensuite être utilisée pour obtenir les détails du consentement du SDK afin de l'utiliser dans l'application.

Pour lancer le ConsentTool, accédez à votre classe ciblée et créez une instance de CMPConsentTool comme indiqué ci-dessous:

//...
import net.consentmanager.sdk.CMPConsentTool;
//...
public class MainActivity extends AppCompatActivity {
    private CMPConsentTool consentTool;
    //...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      //..
      consentTool = CMPConsentTool.createInstance(this, 123456, "consentmanager.mgr.consensu.org", "MyFavouriteApp", "");
    }
//...
}

 

Pour créer l'instance de CMPConsentTool, vous devez configurer l'instance. Vous devrez fournir l'ID CMP, le domaine du serveur, un nom d'application et une langue. Le CMP-ID et le domaine du serveur se trouvent dans votre ConsentManager compte sous Menu> Obtenir le code. Le nom de l'application peut être utilisé pour distinguer différentes applications dans le ConsentManager rapports. Pour la langue, vous pouvez utiliser une chaîne vide ("") pour la détection automatique ou un code de langue à 2 lettres ("EN", "DE", "FR" et ainsi de suite).

Les valeurs de configuration peuvent être insérées de différentes manières:

a) Configuration du SDK via CMPConfig

Ajoutez les lignes suivantes à votre code:

val config = CMPConfig.apply { 
            serverDomain = CMP_DOMAIN
            appName = CMP_APP_NAME
            language = LANG
            id = APP_ID
        }
val consentTool = CMPConsentTool.createInstance(this, config);
b) Configuration du SDK via createInstance()

Ajoutez la ligne suivante à votre code:

consentTool = CMPConsentTool.createInstance(this, 1234567, "consentmanager.mgr.consensu.org", "MyFavouriteApp", "EN");

Utilisation du SDK

Afin de vérifier si un fournisseur ou un objectif a son consentement, vous pouvez utiliser les deux méthodes:

if(consentTool.hasPurposeConsent(this,"52",false))
{
    if(consentTool.hasVendorConsent(this,"s26", false))
    {
        //do something with data
    }
}

Les deux méthodes hasPurposeConsent et hasVendorConsent nécessitent deux paramètres:

  • id - Chaîne du fournisseur ou de l'ID de fonction. Veuillez noter que les identifiants de fournisseur peuvent avoir différents formats ("123", "s123" et "c123"), veuillez vérifier avec Menu> Fournisseurs et Menu> Objectifs dans votre ConsentManager compte.
  • isIABVendor / isIABPurpose - Si le fournisseur ou l'objet est un fournisseur / objectif qui suit la norme IAB TCF, vous devrez définir un vrai, sinon un faux.

N'oubliez pas: tous les fournisseurs qui n'appartiennent pas à l'IAB ont des ID commençant par un "s" ou "c" (par exemple, "s123"); les fournisseurs qui appartiennent à l'IAB ont des ID ne commençant pas par un «s» ou «c».

Réouverture de l'écran de consentement

Afin de permettre à l'utilisateur de modifier les choix, vous pouvez simplement appeler openCmpConsentToolView():

consentTool.openCmpConsentToolView(this);

Dans certains cas, une application native peut contenir des vues Web afin d'afficher certaines choses comme du contenu publicitaire ou publicitaire. Afin de transmettre les informations de consentement du SDK à la vue Web, veuillez utiliser la fonction:

String consentData = CMPConsentTool.exportCMPData(this);

Cela exportera les informations de consentement et toutes les autres données nécessaires au CMP. Vous pouvez ensuite transmettre ces informations au CMP qui se trouve dans votre vue Web en l'ajoutant à l'URL appelée dans la vue Web:

myWebView.loadURL("https://mywebsite.com/....#cmpimport=" + consentData);

Écouteurs d'événements personnalisés

Pour ajouter une logique de processus supplémentaire, vous pouvez utiliser des écouteurs d'événement. Les écouteurs d'événement suivants sont disponibles :

Nom

Se produit

 

OnOpenCallback

Écouteur d'événement à l'ouverture du CMP

OnCMPCloseCallback

Écouteur d'événement lorsque CMP est fermé

SurCMPNotOpenedCallback

Écouteur d'événement lorsque CMP n'a pas besoin d'être ouvert

OnErrorCallback

Écouteur d'événement lorsqu'il y a une erreur dans le processus de gestion des consentements.

Autorisation d'importation/exportation

Pour importer ou exporter le consentement, vous pouvez utiliser la fonction exportCMPData(Contexte contextuel) et importCMPData (contexte contextuel, chaîne cmpData). Vérifiez l'exemple ci-dessous : 

La chaîne de consentement que vous devez transmettre doit être encodée en base64.

 

Diagramme de séquence du SDK CMP

Cmp-Sequence-Diagram-(1).png

 


 

Présentation de l'API : 

 
hasConsent() : booléen

Description: Vérifie si l'utilisateur a déjà donné son consentement.

Valeur de retour: Renvoie true si l'utilisateur a donné son consentement, false sinon.


getAllPurposes(context: Context): Chaîne

Description: renvoie tous les objectifs sous forme de chaîne.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer les finalités.

Retour: Une chaîne contenant tous les objectifs.


getAllPurposeList(context: Context): Liste

Description: renvoie tous les objectifs sous la forme d'une liste de chaînes.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer les finalités.

Retour: une liste de chaînes, où chaque chaîne représente un objectif.


getAgreedPurposes(context: Context): Chaîne

Description: renvoie les objectifs que l'utilisateur a acceptés sous forme de chaîne.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer les finalités convenues.

Retour: Une chaîne contenant les objectifs que l'utilisateur a acceptés.


getAgreedPurposeList(context: Context): Liste

Description: renvoie une liste d'objectifs que l'utilisateur a acceptés.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer la liste des objectifs convenus.

Retour: une liste de valeurs de chaîne représentant les objectifs que l'utilisateur a acceptés.


getDisabledPurposes(context: Context): Liste

Description: renvoie une liste des finalités actuellement désactivées.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer la liste des objectifs désactivés.

Retour: une liste de valeurs de chaîne représentant les objectifs actuellement désactivés.


getAllVendors(context: Context): Chaîne

Description: renvoie une chaîne contenant une liste de tous les fournisseurs disponibles.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer la liste de tous les fournisseurs.

Retour: une chaîne contenant une liste de tous les fournisseurs disponibles.


getAllVendorsList(context: Context): Liste

Description : Renvoie une liste de tous les fournisseurs disponibles.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer la liste de tous les fournisseurs.

Retour: une liste de valeurs de chaîne représentant tous les fournisseurs disponibles.


getAgreedVendors(context: Context): Chaîne

Description: renvoie une chaîne contenant une liste de fournisseurs que l'utilisateur a acceptés.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer la liste des fournisseurs convenus.

Retour: une chaîne contenant une liste de fournisseurs que l'utilisateur a acceptés.


getAgreedVendorList(context: Context): Liste

Description: renvoie une liste de fournisseurs que l'utilisateur a acceptés.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer la liste des fournisseurs convenus.

Retour: une liste de valeurs de chaîne représentant les fournisseurs que l'utilisateur a acceptés.


getDisabledVendors(context: Context): Liste

Description: renvoie une liste des fournisseurs actuellement désactivés.

Paramètres:

  • context (type : Context) : contexte dans lequel récupérer la liste des fournisseurs désactivés.

Retour: une liste de valeurs de chaîne représentant les fournisseurs actuellement désactivés.


enableVendorList(context : Contexte, fournisseurs : Liste )

Description: active la liste de fournisseurs donnée.

Paramètres:

  • context (type : Context) : contexte dans lequel activer les fournisseurs.
  • fournisseurs (type : liste ) : une liste de valeurs de chaîne représentant les fournisseurs à activer.

Retour: Aucun.


disableVendorList(context : Contexte, fournisseurs : Liste )

Description: désactive la liste de fournisseurs donnée.

Paramètres:

  • context (type : Context) : contexte dans lequel désactiver les fournisseurs.
  • fournisseurs (type : liste ) : une liste de valeurs de chaîne représentant les fournisseurs à désactiver.

Retour: Aucun.


rejeter tout(contexte : Contexte, onConsentReceivedCallback : OnConsentReceivedCallback)

Description : Rejette tout consentement à la candidature.

Paramètres:

  • contexte (type : Context) : Le contexte dans lequel le consentement est rejeté.
  • onConsentReceivedCallback (type : OnConsentReceivedCallback) : fonction de rappel exécutée après le rejet du consentement.

Retour Valeur : Aucune


acceptAll(context : Contexte, onConsentReceivedCallback : OnConsentReceivedCallback)

Description : Accepte tout consentement pour l'application.

Paramètres:

  • contexte (type : Context) : Le contexte dans lequel le consentement est accepté.
  • onConsentReceivedCallback (type : OnConsentReceivedCallback) : la fonction de rappel qui est exécutée après l'acceptation du consentement.

Retour Valeur : Aucune


getUSPrivacyString(context : Contexte) : chaîne

Description : Renvoie la chaîne de confidentialité américaine.

Paramètres:

  • context (type : Context) : contexte dans lequel la chaîne de confidentialité américaine est renvoyée.

Retour Valeur:

  • Chaîne représentant la chaîne de confidentialité américaine.

hasVendorConsent(context: Context, id: String, checkConsent: Boolean = true): Boolean

Description : Vérifie si l'utilisateur a donné son consentement à un fournisseur spécifique.

Paramètres:

  • context (type : Context) : le contexte dans lequel le consentement du fournisseur est vérifié.
  • id (type : chaîne) : ID du fournisseur.
  • checkConsent (type : booléen, facultatif) : spécifie si le consentement doit être vérifié. La valeur par défaut est true.

Retour Valeur:

  • true si l'utilisateur a donné son accord au vendeur, false sinon.

hasPurposeConsent(context: Context, id: String, isIABPurpose: Boolean, checkConsent: Boolean = true): Boolean

Description : Vérifie si l'utilisateur a donné son consentement à un objectif spécifique.

Paramètres:

  • contexte (type : Contexte) : le contexte dans lequel le consentement à la finalité est vérifié.
  • id (type : chaîne) : ID de l'objectif.
  • isIABPurpose (type : booléen) : spécifie si l'objectif est un objectif IAB.
  • checkConsent (type : booléen, facultatif) : spécifie si le consentement doit être vérifié. La valeur par défaut est true.

Retour Valeur:

  • true si l'utilisateur a donné son consentement à la finalité, false sinon.

getGoogleACString(context: Context): Chaîne

Description : Renvoie l'identifiant publicitaire Google.

Paramètres:

  • context (type : Context) : contexte dans lequel l'identifiant publicitaire Google est renvoyé.

Retour Valeur:

  • Chaîne représentant l'identifiant publicitaire Google.

getLastConsentString(context: Context): Chaîne

Description : Renvoie la dernière chaîne de consentement.

Paramètres:

  • context (type : Context) : contexte dans lequel la dernière chaîne de consentement est renvoyée.

Retour Valeur:

  • Une chaîne représentant la dernière chaîne de consentement.

exportConsentString() : chaîne

Description : Exporte la chaîne de consentement.

Paramètres: Aucun

Retour Valeur:

  • Une chaîne représentant la chaîne de consentement.

getCalledLast(context: Context): Date ?

Description : Renvoie la date à laquelle le consentement a été appelé pour la dernière fois.

Paramètres:

  • context (type : Context) : contexte dans lequel la date du dernier appel est renvoyée.

Retour Valeur:

  • Une Date représentant la date du dernier appel ou nulle si aucune date n'a été trouvée.

appeléCeJour(contexte : Contexte) : booléen

Description : Vérifie si le consentement a été appelé le jour même.

Paramètres:

  • context (type : Context) : le contexte dans lequel la vérification est exécutée.

Retour Valeur:


Préférences partagées

Le SDK définira les valeurs de préférences partagées pour IAB TCF v1, IAB TCF v2, IAB USPrivacy et Google AC String. Ces valeurs peuvent être lues à l'aide du code suivant:

Context mContext = getApplicationContext();

SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);

SharedPreferences.OnSharedPreferenceChangeListener mListener;

mListener = new SharedPreferences.OnSharedPreferenceChangeListener() {

            public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
                        if (key.equals([Specific Consent Key])) {
                                   // Update Consent settings
                                   }
                        }
            };
mPreferences.registerOnSharedPreferenceChangeListener(mListener);

 

Les clés suivantes sont définies:

TCF de l'IAB v1  
IABConsent_CMPPresent Boolean: Défini sur true si un CMP implémentant cette spécification est présent dans l'application. Idéalement défini par l'éditeur dès que possible, mais peut également être défini par le CMP en variante.
IABConsent_SubjectToGDPR String 1 - (soumis au RGPD), 0 - (non soumis au RGPD), Nil - indéterminé (par défaut avant l'initialisation). S'aligne sur l'avis IAB OpenRTB GDPR. Décidé d'être String, pour avoir le statut non initialisé.
IABConsent_ConsentString String: Chaîne de consentement
IABConsent_ParsedPurposeConsents String (de «0» et «1») où le caractère en position N indique le statut de consentement à l'ID d'objet N tel que défini dans la liste globale des fournisseurs. Chaîne de consentement donnée pour permettre une vérification simple. Le premier caractère à partir de la gauche étant le but 1, ...
IABConsent_ParsedVendorConsents String (de «0» et «1») où le caractère en position N indique le statut de consentement à l'ID de fournisseur N tel que défini dans la liste globale des fournisseurs. Chaîne de consentement donnée pour permettre une vérification simple. Le premier caractère à gauche étant le vendeur 1, ... 
TCF de l'IAB v2  
IABTCF_CmpSdkID Number: ID entier non signé du SDK CMP
IABTCF_CmpSdkVersion Number: Numéro de version entier non signé du SDK CMP
IABTCF_PolicyVersion Number: L'entier non signé représentant la version du TCF à laquelle ces consentements adhèrent.
IABTCF_gdprApplies Number:

1 Le RGPD s'applique dans le contexte actuel

0 - GDPR fait pas appliquer dans le contexte actuel

once - indéterminé (par défaut avant l'initialisation)

IABTCF_PublisherCC String: Code ISO 3166-1 alpha-2 à deux lettres - Défaut: AA (inconnu)
IABTCF_PurposeOneTreatment Number:

0 - pas de traitement spécial du but un

1 - but un non divulgué

Annuler la valeur par défaut - 0

Les fournisseurs peuvent utiliser cette valeur pour déterminer si le consentement à la première fin est requis.

IABTCF_UseNonStandardStacks Number:

1 - CMP a utilisé une pile non standard

0 - CMP n'a pas utilisé de pile non standard

IABTCF_TCString String: Chaîne TC entièrement codée
IABTCF_VendorConsents Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut de consentement pour l'ID du fournisseur n + 1; false et true respectivement. par exemple. '1' à l'index 0 est le consentement true pour l'ID du fournisseur 1
IABTCF_VendorLegitimateInterests Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut d'intérêt légitime pour l'ID du fournisseur n + 1; false et true respectivement. par exemple. '1' à l'index 0 l'intérêt légitime est-il établi true pour l'ID du fournisseur 1
IABTCF_PurposeConsents Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut de consentement pour l'identification d'objet n + 1; false et true respectivement. par exemple. '1' à l'index 0 est le consentement true à des fins d'identification 1
IABTCF_PurposeLegitimateInterests Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut d'intérêt légitime pour l'identification d'objet n + 1; false et true respectivement. par exemple. '1' à l'index 0 l'intérêt légitime est-il établi true à des fins d'identification 1
IABTCF_SpecialFeaturesOptIns Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut d'activation pour l'ID de fonction spéciale n + 1; false et true respectivement. par exemple. '1' à l'index 0 est opt-in true pour l'ID de fonction spéciale 1
IABTCF_PublisherRestrictions{ID} String ['0','1', or '2']: La valeur à la position n - où nl'indexation de commence à 0 - indique le type de restriction de l'éditeur (0-2) pour le fournisseur n + 1; (voir Types de restrictions de l'éditeur). par exemple. '2' à l'index 0 est restrictionType 2 pour l'ID du fournisseur 1. {ID} fait référence à l'ID d'objet.
IABTCF_PublisherConsent Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut de consentement à l'objectif pour l'ID d'objet n + 1 pour l'éditeur, car ils correspondent aux objectifs de la liste mondiale des fournisseurs; false et true respectivement. par exemple. '1' à l'index 0 est le consentement true à des fins d'identification 1
IABTCF_PublisherLegitimateInterests Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut d'intérêt légitime de la finalité pour l'identification de la finalité n + 1 pour l'éditeur, car ils correspondent aux objectifs de la liste mondiale des fournisseurs; false et true respectivement. par exemple. '1' à l'index 0 l'intérêt légitime est-il établi true à des fins d'identification 1
IABTCF_PublisherCustomPurposesConsents Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut de consentement à la finalité pour l'ID de finalité personnalisée de l'éditeur n + 1 pour l'éditeur; false et true respectivement. par exemple. '1' à l'index 0 est le consentement true pour un identifiant à usage personnalisé 1
IABTCF_PublisherCustomPurposesLegitimateInterests Binary String: Le '0' or '1' à la position n - où nl'indexation de commence à 0 - indique le statut d'intérêt légitime de la finalité pour l'identifiant de finalité personnalisé de l'éditeur n + 1 pour l'éditeur; false et true respectivement. par exemple. '1' à l'index 0 l'intérêt légitime est-il établi true pour un identifiant à usage personnalisé 1
IAB États-Unis  
IABUSPrivacy_String String: S'aligne sur l'avis IAB OpenRTB CCPA. La chaîne encode tous les choix et informations.
Chaîne Google AC  
IABTCF_AddtlConsent

String: Correspond aux spécifications techniques du mode de consentement supplémentaire de Google. 

(Obsolète) Blocage de contenu dynamique avec espace réservé webView

Cette fonction est obsolète et sera supprimée à l'avenir. La raison de l'obsolescence est qu'avec les API d'activation et de désactivation du fournisseur et de l'objectif, il n'est plus nécessaire de créer un espace réservé. Vous pouvez ajouter votre propre interface utilisateur et votre propre logique métier et activer et désactiver dynamiquement les fournisseurs. Au lieu d'utiliser cette fonction, vous devez utiliser le enableVendorList() et désactiverVendorList() pour gérer les fournisseurs activés ou désactivés, et créez votre propre interface utilisateur pour afficher ces informations à l'utilisateur.

L'espace réservé viewObject peut être implémenté pour obtenir la fonctionnalité de blocage de contenu dynamique ici.Vous pouvez créer la vue avec la méthode suivante : 

CMPPlaceholder placeholderView = CMPConsentTool.createPlaceholder(getApplicationContext(),CMPPlaceholderParams
                        .ofVendor("${vendorId}"), new CMPPlaceholderEventListener() {
                        
                    @Override
                    public void vendorAccepted(WebView view) {
                    	//... Actions to trigger if Consent is accepted
                        // Like showing Youtube Video View
                    	}
                    });

Avec l'objet Wrapper CMPPlaceholderParams vous pouvez également transmettre des paramètres facultatifs tels que des textes personnalisés ou une image d'aperçu facultative. Les fonctions du constructeur sont appelées setCustomplaceholder(String headline, String mainText, String checkboxText, String buttonText) et  setOptionalImageUrl(String imageUrl).

La logique métier requise, lorsque vous souhaitez afficher la vue et lorsqu'elle n'a pas besoin d'être appliquée par le développeur. Vous pouvez transmettre la condition et les actions requises en utilisant les rappels EvenListener du CMPPlaceholderEventlistener. L'événement requis suivant doit être mis en œuvre :

Obligatoire: vendorAccepted(CMPPlaceholderView view) { // Your logic }

En option: errorOccurred(String message) { // Error handling }

 

Présentation de l'API (anciennes versions)

API

Paramètres Retour

Description

 

openCmpConsentToolView(

Contexte Contexte

)

contexte: Le contexte de l'application annuler  Affiche une vue modale avec la vue Web de consentement. Si la Conformité est acceptée ou rejetée, une fonction de clôture sera appelée. Vous pouvez remplacer cette fonction de fermeture par la vôtre. Par conséquent, implémentez OnCloseCallback et ajoutez-le en tant que paramètre. Interface utilisateur @apiNote -> exemple : Ouvrir la couche par action de bouton
       

openCmpConsentToolView(

Contexte contextuel,

Rappel OnCloseCallback

)

contexte: Le contexte de l'application

 

rappeler: Le OnCloseCallback qui doit être appelé lorsque la vue Web est fermée par action

 

annuler Affiche une vue modale avec la vue Web de consentement. Si la Conformité est acceptée ou rejetée, une fonction de fermeture sera appelée. Vous pouvez remplacer cette fonction de fermeture par la vôtre. Pour cela, implémentez le OnCloseCallback et donnez-le à cette fonction. Cette méthode n'enverra plus de demande au serveur consentTool. Il utilisera le dernier état. Si vous souhaitez uniquement ouvrir à nouveau la vue de l'outil de consentement, si le serveur donne un statut de réponse == 1 utilisez la méthode checkAndProceedConsentUpdate @apiNote Interface utilisateur -> exemple : Ouvrir le calque par action de bouton

setCloseCmpConsentToolViewListener(

Rappel OnCloseCallback

)

rappeler: Le OnCloseCallback qui doit être appelé lorsque la vue Web est fermée par action annuler Définit un écouteur. Si la Conformité est acceptée ou rejetée, cette fonction sera appelée. Vous pouvez remplacer cette fonction de fermeture par la vôtre. À cet effet, implémentez OnCloseCallback et ajoutez-le en tant que paramètre.
       
       

setCustomCmpConsentToolViewAction(

CustomOpenActionCallback customAction

)

customAction : la customAction qui doit être appelée, en plus d'afficher le consentTool annuler Définit une action personnalisée sur une réponse du serveur.

setErrorDialogCmpConsentToolViewListener(

Rappel OnErrorDialogCallback

)

rappeler: Le OnOpenCallback, qui doit être appelé, lorsque la vue sera ouverte. annuler Définit un écouteur. Si la vue de conformité est ouverte, cette fonction sera appelée. Vous pouvez remplacer cette fonction ouverte par la vôtre. Pour cela, implémentez OnOpenCallback et ajoutez-le en tant que paramètre.

setNetworkErrorExceptionListener(

Rappel OnNetworkExceptionCallback

)

rappeler: Le OnErrorNetworkCallback qui doit être appelé. annuler Définit un écouteur qui est appelé, si une erreur réseau se produit.

setOnCMPNotOpenedCallback(

Rappel OnCMPNotOpenedCallback

)

rappeler: L'action cmpNotOpenedCallback qui sera appelée annuler Définit une action lorsque le Consentlayer ne va pas s'ouvrir

setOpenCmpConsentToolViewListener(

Contexte contextuel,

Bouton gdprBouton

)

contexte: Puis Contexte de l'App

bouton gdpr: Le bouton, le openCmpConsentToolViewListener doit être ajouté à

annuler Définit un écouteur sur le bouton donné. Si le bouton est cliqué, une vue modale sera affichée avec la vue Web de consentement. Si la Conformité est acceptée ou rejetée, une fonction de fermeture sera appelée. Vous pouvez remplacer cette fonction de fermeture par la vôtre. Pour cela, implémentez OnCloseCallback et ajoutez-le comme autre paramètre. Si le paramètre n'est pas défini, mais que setCloseCmpConsentToolViewListener a été utilisé pour ajouter un écouteur à l'événement de fermeture, celui-ci sera utilisé.

setOpenCmpConsentToolViewListener(

Contexte contextuel,

Bouton gdprButton,

Rappel OnCloseCallback

)

contexte: Le contexte de l'application

bouton gdpr: Le bouton, le openCmpConsentToolViewListener doit être ajouté à

 

rappeler: Le OnCloseCallback qui doit être appelé lorsque la vue Web est fermée par action

annuler Définit un écouteur sur le bouton donné. Si vous cliquez sur le bouton, une vue modale sera affichée avec la vue Web de consentement. Si la Conformité est acceptée ou rejetée, une fonction de clôture sera appelée. Vous pouvez remplacer cette fonction de fermeture par la vôtre. Par conséquent, implémentez OnCloseCallback et ajoutez-le comme dernier paramètre.

setOpenCmpConsentToolViewListener(

Rappel OnCloseCallback

)

rappeler: Le OnCloseCallback qui doit être appelé lorsque la vue Web est fermée par action

annuler Définit un écouteur. Si la vue de conformité est ouverte, cette fonction sera appelée. Vous pouvez remplacer cette fonction ouverte par la vôtre. Pour cela, implémentez OnOpenCallback et ajoutez-le en tant que paramètre.

setOpenPlaceHolderViewListener(

Contexte contextuel,

Bouton bouton,

Fournisseur de cordes

)

contexte: Le contexte de l'application

bouton (dans la fenêtre de contrôle qui apparaît maintenant): Un bouton d'action pour créer la vue d'espace réservé

vendeur: Le fournisseur qui est affecté à l'espace réservé

annuler Ouvre la vue d'espace réservé en cliquant sur le bouton pour le fournisseur attribué 
 

 

   

appeléCeJour(

contexte contextuel)

contexte: Le contexte de l'application

booléen: si le serveur a déjà été contacté ce jour Renvoie si le serveur a déjà été contacté ce jour.

clearAllValues(Contexte contextuel)

contexte: Le contexte de l'application

annuler Réinitialise les données de consentement

createPlaceholder(

Contexte contextuel, 

CMPPlaceholderParams cmpPlaceholderParams, 

CmpPlaceholderEventListener cmpPlaceholderEventListener)

contexte: Le contexte de l'application

cmpPlaceholderParams : 

attribuer les paramètres d'espace réservé requis

cmpPlaceholderEventListener: Interface EventListener pour les fonctions de processus personnalisées

CmpPlaceholder & #XNUMX;: UIView de l'espace réservé Crée une vue d'espace réservé pour le blocage de contenu dynamique

exportCMPData(Contexte contextuel)

contexte: Le contexte de l'application

Chaîne: la chaîne de consentement Une fonction d'exportation qui peut être appelée pour exporter la chaîne de consentement complète générée par un ConsentWebView et enregistrée dans les préférences partagées de cet appareil.

getCalledLast (contexte contextuel)

contexte: Le contexte de l'application

Date: Date à laquelle le serveur a été appelé pour la dernière fois Donne des informations sur la dernière date à laquelle le serveur a été contacté

getConfig()

 

CMPConfig:

Objet CMPConfig

Renvoie le CMPConfig qui est défini actuellement

getGoogleACString()

contexte: Le contexte de l'application

Chaîne: chaîne de confidentialité américaine des fournisseurs qui a été définie consentmanager

Renvoie la chaîne de confidentialité américaine, qui a été définie par consentmanager

getInstance()

 

CMPConsentTool:

L'instant singleton initialisé du consentmanager

Renvoie le CMPConsentTool. Si vous n'avez pas initialisé le CMPConsentTool avant, l'exception CMPConsentToolInitialisation sera levée.

getInstanceUnsafe()

 

CMPConsentTool:

l'Instant singleton initialisé du consent Manager, ou nul.

Renvoie le CMPConsentTool, ou null s'il n'a pas été initialisé. Cette méthode n'est pas sûre, car elle peut conduire à des exceptions de pointeur nul, mais si vous êtes sûr que ConsentTool a été initialisé auparavant, vous pouvez utiliser cette méthode, sans avoir besoin de détecter l'erreur. Nous vous recommandons de sauvegarder l'objet renvoyé de la méthode createInstant, d'utiliser les méthodes de la consentManager.

getLastConsentString(

contexte contextuel)

contexte: Le contexte de l'application

Chaîne

La dernière chaîne de consentement définie

Renvoie le dernier consentement donné, présenté en base64 par consentManager

getPurposes(Contexte contextuel)

contexte: Le contexte de l'application

Chaîne: La chaîne d'objectifs qui a été définie par consentmanager

Renvoie la chaîne de buts, qui a été définie par consentmanager

getUSPrivacyString (contexte contextuel)

contexte: Le contexte de l'application

Chaîne: La chaîne de confidentialité américaine des fournisseurs qui a été définie par consentmanager

Renvoie la chaîne de confidentialité américaine, qui a été définie par consentmanager

getVendorsString (contexte contextuel)

contexte: Le contexte de l'application

Chaîne: La chaîne de fournisseurs définie par consentmanager

Renvoie la chaîne du fournisseur, qui a été définie par consentmanager

hasPurposeConsent(contexte contextuel,

Identifiant de chaîne,

booléen isIABPurpose)

contexte: le contexte de l'application

id: L'identifiant du but

estIABPonjet: Si l'objectif est défini par la norme IAB (V1/V2)

booléen

Si le but a le consentement pour définir des cookies

Renvoie, si le but (id) a le droit de définir des cookies.

Attention: L'ID d'objectif est le même que celui indiqué dans la liste d'objectifs et peut avoir un préfixe tel que C

hasVendorConsent(

Contexte contextuel,

Identifiant de chaîne,

booléen isIABVendor)

contexte: Le contexte de l'application

id: L'identifiant du vendeur

isIABVendor: si le fournisseur est défini par la norme IAB (V1/V2)

booléen: Si le Vendeur a le Consentement à installer des cookies.

Renvoie, si le vendeur (id) a le droit de définir des cookies

 

Attention : L'identifiant du fournisseur est le même que celui affiché dans la liste des fournisseurs et peut avoir un préfixe tel que C, S

importCMPData(

Contexte contextuel, 

Chaîne cmpData

)

contexte: Le contexte de l'application

cmpDonnées: La chaîne qui sera définie. La chaîne de consentement doit être transmise encodée en base64 

booléen

Si l'importation a réussi, ou si des erreurs se produisent dans la chaîne

Une méthode d'importation qui peut être appelée pour importer le ConsentString complet généré par un ConsentWebView dans les préférences partagées de cet appareil.

besoinsAcceptation(Contexte contextuel)

contexte: Le contexte de l'application

booléen: si l'utilisateur doit donner son consentement

Renvoie si l'utilisateur doit donner un consentement, parce qu'il ne l'a pas fait dans le passé, ou parce que le serveur de consentement a renvoyé, qu'un nouveau consentement est requis

besoinsServeurUpdate(Contexte contextuel)

contexte: Le contexte de l'application

booléen: Si la consentmanager doit être mis à jour

Si les CMPSettings doivent être mis à jour à partir du serveur, c'est qu'ils ne l'étaient pas à ce jour.

 

 

 

 

 

 

Retour en haut de la page