[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
-
Intégration et configuration:
- Intégrez le SDK dans votre application.
- Configurez les paramètres du SDK en fonction de vos besoins.
-
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.
- Au démarrage de l'application, créez une instance du
-
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.
-
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.
- Le SDK affichera automatiquement l'écran de consentement si nécessaire lorsque le
-
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.
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 :
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'),
);
Gestion du consentement
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");
}
}
Statut et informations du consentement
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.
-
Vérifier l'exigence de consentement:
await _cmpSdkPlugin.check();
-
Obtenir le statut de consentement : Implémentez une méthode pour récupérer et compiler le statut de consentement à partir de diverses méthodes du SDK telles que
exportCmpString
,hasConsent
,getAllVendors
, etc.
Création d'une mise en page personnalisée
L'interface utilisateur de la couche de consentement peut être personnalisée à l'aide de l'objet « CmpUiConfig ». Vous pouvez spécifier la configuration de l'écran (par exemple, plein écran, demi-écran) en fonction des besoins de votre application.
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