[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.
Importar
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",
);
}
Abrir capa de consentimiento
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'),
);
Gestión del consentimiento
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();
-
Consulte el:
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");
}
}
Estado e información del consentimiento
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.
-
Verificar requisito de consentimiento:
await _cmpSdkPlugin.check();
-
Obtener estado de consentimiento: Implemente un método para obtener y compilar el estado de consentimiento de varios métodos del SDK como
exportCmpString
,hasConsent
,getAllVendors
, etc.
Crear un diseño personalizado
La interfaz de usuario de la capa de consentimiento se puede personalizar utilizando el objeto `CmpUiConfig`. Puede especificar la configuración de la pantalla (por ejemplo, pantalla completa, media pantalla) según las necesidades de su aplicación.
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