Info
Contenido

[Aleteo] 1. consentmanager Integración SDK

Instalación

Ejecute este comando:

Con aleteo:

flutter pub add cmp_sdk

Esto agregará una línea como esta al pubspec.yaml de su paquete (y ejecutará un archivo implícito). flutter pub get):

dependencies:  
	cmp_sdk: ^0.1.0

Alternativamente, su editor podría admitir flutter pub get. Consulte los documentos de su editor para obtener más información.

Importa

Ahora en tu código Dart, puedes usar:

import 'package:cmp_sdk/cmp_sdk.dart';

Usando la biblioteca

Para crear una instancia de CmpSdk con una configuración básica:

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

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

  // Initialize CMP SDK with basic configuration
  final cmpSdk = CmpSdk.createInstance(
    id: "Code-ID from consentmanager, e.g. bf816dab123...",
    domain: "Server-Domain from consentmanager, e.g. delivery.consentmanager.net",
    appName: "App name, e.g. MyFlutterApp",
    language: "Language, e.g. FR",
  );
}

 

Devoluciones de llamada de eventos

El SDK permite configurar devoluciones de llamada para varios eventos de la capa de consentimiento, como apertura, cierre, errores y clics en botones. Esto es útil para fines de registro o para ejecutar lógica adicional basada en las interacciones del usuario.

_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'),
);

El SDK proporciona métodos para aceptar o rechazar el consentimiento globalmente, restablecer los datos del consentimiento y abrir la capa de consentimiento para la interacción del usuario.

  • Aceptar todo: await _cmpSdkPlugin.acceptAll();
  • Rechazar todo: await _cmpSdkPlugin.rejectAll();
  • cheque: await _cmpSdkPlugin.check();
  • Restablecer consentimiento: await _cmpSdkPlugin.reset();
  • Abrir capa de consentimiento: await _cmpSdkPlugin.open();

Exportación e importación de cadenas CMP

La cadena CMP que representa las preferencias de consentimiento del usuario. Puede importarlo al SDK de CMP para aplicar esas preferencias. Esto puede resultar útil para transferir preferencias de consentimiento entre diferentes partes de su aplicación o almacenarlas externamente.

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

Puede recuperar diversa información relacionada con el consentimiento utilizando los métodos del SDK, como verificar si se requiere consentimiento, obtener el estado actual del consentimiento y obtener el consentimiento para proveedores o propósitos específicos.

Crear un diseño personalizado

await _cmpSdkPlugin.configureConsentLayer(CmpUiConfig(screenConfig: ScreenConfig.fullScreen));
Diseños disponibles
  • pantalla completa
  • media pantalla inferior
  • media pantallaarriba
  • centroPantalla
  • pequeña pantalla central
  • pantalla superior grande
  • pantalla inferior grande

Notas

Documentación de API: documentación

Biblioteca: pub.dev 

Volver