Info
Contenu

[Flottement] 1. consentmanager Intégration SDK

SDK obsolète / Mise à niveau vers la version 3 : Cette documentation décrit la version 2.x de notre SDK. Le SDK 2.x est obsolète et sera supprimé d'ici la fin de l'année 2025. Veuillez effectuer une mise à niveau vers la version 3.x du SDK. Voir la section Aide sur SDK v3 ici.

Sur ce document, vous trouverez des informations générales sur la façon d'intégrer notre SDK à votre projet. Pour plus de détails, veuillez vous référer à notre Référence de l'API documentation. Le SDK est disponible à l'adresse pub.dev .

1. Installation

Le consentmanager Le SDK pour les applications iOS 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.

Étapes – Description de haut niveau

  1. Intégration et configuration:

    • Intégrez le SDK dans votre application.
    • Configurez les paramètres du SDK en fonction de vos besoins.
  2. Création d'une instance:

    • Au démarrage de l'application, créez une instance du CMPManager classe. Cette instance gérera le processus de consentement.
  3. Initialisation du SDK:
    • Une fois l'instance prête, le SDK récupère automatiquement les informations nécessaires du consentmanager serveurs pour préparer son fonctionnement.
  4. Affichage de l'écran de consentement:

    • Le SDK affichera automatiquement l'écran de consentement si nécessaire lorsque le CMPManager.initialize()méthode est appelée.
  5. Traitement des données personnelles:

    • Une fois les consentements collectés, les informations sont stockées et sont disponibles pour interrogation via différentes propriétés et méthodes exposées par notre SDK. Vous aurez des informations sur les consentements rejetés ou acceptés, les fournisseurs, les objectifs, etc.

En suivant ces étapes, vous vous assurez que votre application est conforme aux exigences de consentement et que le consentement de l'utilisateur est correctement géré et stocké.

Consent Manager Diagramme de séquence du SDK du fournisseur

Pour illustrer les étapes ci-dessus, vérifions dans le diagramme ci-dessous trois flux de séquence SDK possibles. 

1. Lors de la création d'une instance à l'aide de initialiser fonction, il y a deux résultats possibles. La première est lorsque l'API Consentmanger informe le SDK que la CMP ne s'ouvrira pas, ce qui déclenche le OnCmpNotOpenedCallbackOnCmpNotOpenedCallback. Le deuxième résultat est lorsque la couche de consentement s'ouvre, permettant à l'utilisateur d'interagir avec elle, et cela déclenche le SurOpenCallback. Une fois que l'utilisateur a donné son consentement et que celui-ci a été traité, le OnCmpCloseCallbackOnCmpCloseCallback est appelé.

Veuillez noter que SurErreurRappel est représenté par les flèches rouges en pointillés pour fournir des exemples d'erreurs pouvant survenir au cours du processus.

Initialiser-Cmp-Sequence-Diagram.png

2. Créer une instance et appeler le ouvrirAndCheckConsent les fonctions conduiront à un processus similaire. La différence est qu'en dissociant la création de l'instance et la vérification de l'API consentementmanger, vous obtenez la possibilité d'ajouter une logique métier et d'interagir avec l'API des bibliothèques.

3. Créer une instance et appeler le couche ouverte fonction ouvrira le calque sans vérifier le consentmanager, si c'est nécessaire. Si le consentement a déjà été donné, les options et les paramètres seront affichés à l'utilisateur. Le flux de processus ressemblera à ceci :

openlayer-Cmp-Sequence-Diagram-.png

Pour plus d'informations sur la présentation de la version du SDK et le journal des modifications, veuillez vous référer à ce lien.

Installation via pub.dev

Exécutez cette commande:

Avec Flutter :

flutter pub add cmp_sdk

Cela ajoutera une ligne comme celle-ci au pubspec.yaml de votre package (et exécutera un implicite flutter pub get):

dependencies:  
	cmp_sdk: 2.5.4

Alternativement, votre éditeur peut prendre en charge flutter pub get. Consultez la documentation de votre éditeur pour en savoir plus.

Importer

Maintenant, dans votre code Dart, vous pouvez utiliser :

import 'package:cmp_sdk/cmp_sdk.dart';

2. Initialisation du SDK

Dans l'application de démarrage, vous devez créer une instance de classe CMPManager qui sera disponible via le modèle singleton pour le reste des classes y accédant. initialize() La fonction récupérera automatiquement les données nécessaires sur notre serveur et déterminera si l'écran de consentement doit être affiché ou non dès le démarrage de l'application. Si tel est le cas, le SDK affichera automatiquement l'écran de consentement à ce stade, collectera les données et les fournira à l'application. L'instance peut ensuite être utilisée pour obtenir les détails du consentement auprès du SDK afin de les utiliser dans l'application.

import 'package:cmp_sdk/cmp_sdk.dart';
import 'package:cmp_sdk/cmp_config.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

const String _cmpId = "Your-Code-ID-goes-here";
const String _cmpDomain = "delivery.consentmanager.net";
const String _cmpAppName = "Test";
const String _cmpLanguage = "EN";

class _MyAppState extends State<MyApp> {
  String _consentStatus = '';
  String _callbackLogs = '';
  String _cmpString = '';
  String _idString = '1';
  ScreenConfig _selectedScreenConfig = ScreenConfig.fullScreen;

  final CmpConfig _cmpConfig = CmpConfig(
      id: _cmpId,
      domain: _cmpDomain,
      appName: _cmpAppName,
      language: _cmpLanguage,
      timeout: 8000,
      screenConfig: ScreenConfig.halfScreenBottom,
      isAutomaticATTRequest: true,
      iosPresentationStyle: IosPresentationStyle.pagesheet,
      androidPresentationStyle: AndroidPresentationStyle.dialog);

  late CmpSdk _cmpSdkPlugin;

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      initCmp();
    });
  }

  void _updateCmpUiConfig(ScreenConfig screenConfig) async {
    await _cmpSdkPlugin.configureConsentLayer(config: screenConfig);
  }

  Future<void> initCmp() async {
    try {
      _cmpSdkPlugin = CmpSdk.createInstanceWithConfig(_cmpConfig);
      await _cmpSdkPlugin.initialize();
      setEventCallbacks();					// Set like on the example below, on the next topic
    } on PlatformException {
      if (kDebugMode) {
        print("platform not supported");
      }
    }

    if (!mounted) return;
  }

Rappels d'événements

Le SDK permet de configurer des rappels pour divers événements de couche de consentement tels que l'ouverture, la fermeture, les erreurs et les clics sur les boutons. Ceci est utile à des fins de journalisation ou pour exécuter une logique supplémentaire basée sur les interactions de l'utilisateur.

_cmpSdkPlugin.setCallbacks(
  onOpen: () => logCallback('Consent layer opened'),
  onClose: () => logCallback('Consent layer closed'),
  onError: (type, message) => logCallback('Error: $type - $message'),
  onButtonClicked: (buttonType) => logCallback('Button clicked: $buttonType'),
);

Le SDK fournit des méthodes pour accepter ou rejeter le consentement globalement, réinitialiser les données de consentement et ouvrir la couche de consentement pour l'interaction de l'utilisateur.

  • Tout Accepter: await _cmpSdkPlugin.acceptAll();
  • Tout rejeter: await _cmpSdkPlugin.rejectAll();
  • Vérifiez: await _cmpSdkPlugin.check();
  • Réinitialiser le consentement: await _cmpSdkPlugin.reset();
  • Ouvrir la couche de consentement: await _cmpSdkPlugin.open();

Exportation et importation de chaîne CMP

Chaîne CMP représentant les préférences de consentement de l'utilisateur. Vous pouvez l'importer dans le SDK CMP pour appliquer ces préférences. Cela peut être utile pour transférer les préférences de consentement entre différentes parties de votre application ou pour les stocker en externe.

Future<void> importUserConsent(String cmpString) async {
  try {
    final bool success = await CmpSdkPlatform.instance.importCmpString(cmpString);
    if (success) {
      // CMP string was successfully imported
      print("CMP String successfully imported.");
      // The user's consent preferences are now updated according to the imported string
    } else {
      // Handle the case where the import was unsuccessful
      print("Failed to import CMP String.");
    }
  } catch (error) {
    // Handle any errors that occur during import
    print("Error importing CMP String: $error");
  }
}

Future<void> exportUserConsent() async {
  try {
    final String? cmpString = await CmpSdkPlatform.instance.exportCmpString();
    if (cmpString != null) {
      // CMP string successfully retrieved
      print("CMP String: $cmpString");
      // You can now store this string or share it as needed
    } else {
      // Handle the case where CMP string is null
      print("No CMP String available.");
    }
  } catch (error) {
    // Handle any errors that occur during export
    print("Error exporting CMP String: $error");
  }
}

Vous pouvez récupérer diverses informations relatives au consentement à l'aide des méthodes du SDK, telles que vérifier si le consentement est requis, récupérer l'état actuel du consentement et obtenir le consentement pour des fournisseurs ou des objectifs spécifiques.

Création d'une mise en page personnalisée

await _cmpSdkPlugin.configureConsentLayer(CmpUiConfig(screenConfig: ScreenConfig.fullScreen));
Dispositions disponibles
  • plein écran
  • demi-écran en bas
  • demi-écranHaut
  • écran central
  • petitÉcranCentre
  • grandécran supérieur
  • grand écran inférieur

 

Retour en haut de la page