[Flamma] 1. consentmanager SDK-integration
Installera
Kör detta kommando:
Med Fladder:
flutter pub add cmp_sdk
Detta kommer att lägga till en rad som denna till ditt pakets pubspec.yaml (och köra en implicit flutter pub get
):
dependencies:
cmp_sdk: ^0.1.0
Alternativt kan din redaktör stödja flutter pub get
. Kontrollera dokumenten för din redaktör för att lära dig mer.
Importera
Nu i din Dart-kod kan du använda:
import 'package:cmp_sdk/cmp_sdk.dart';
Använda biblioteket
För att skapa en instans av CmpSdk
med en grundläggande konfiguration:
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",
);
}
Öppna samtyckeslager
Återuppringningar av händelser
SDK:n gör det möjligt att ställa in återuppringningar för olika samtyckeslagerhändelser som öppning, stängning, fel och knappklick. Detta är användbart för loggningsändamål eller för att utföra ytterligare logik baserat på användarinteraktioner.
_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'),
);
Hantera samtycke
SDK tillhandahåller metoder för att acceptera eller avvisa samtycke globalt, återställa samtyckesdata och öppna samtyckesskiktet för användarinteraktion.
-
Acceptera alla:
await _cmpSdkPlugin.acceptAll();
-
Avvisa alla:
await _cmpSdkPlugin.rejectAll();
-
Kolla upp:
await _cmpSdkPlugin.check();
-
Återställ samtycke:
await _cmpSdkPlugin.reset();
-
Öppna samtyckeslager:
await _cmpSdkPlugin.open();
Exportera och importera CMP-sträng
CMP-strängen som representerar användarens samtyckespreferenser. Du kan importera den till CMP SDK för att tillämpa dessa inställningar. Detta kan vara användbart för att överföra samtyckesinställningar mellan olika delar av din applikation eller lagra dem externt.
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");
}
}
Samtyckesstatus och information
Du kan hämta olika samtyckesrelaterad information med hjälp av SDK:s metoder, som att kontrollera om samtycke krävs, hämta den aktuella samtyckesstatusen och erhålla samtycke för specifika leverantörer eller ändamål.
-
Kontrollera samtyckeskravet:
await _cmpSdkPlugin.check();
-
Få samtyckesstatus: Implementera en metod för att hämta och kompilera samtyckesstatus från olika SDK-metoder som
exportCmpString
,hasConsent
,getAllVendors
Etc.
Skapa en anpassad layout
Användargränssnittet för samtyckeslagret kan anpassas med objektet `CmpUiConfig`. Du kan ange skärmkonfigurationen (t.ex. helskärm, halvskärm) enligt din applikations behov.
await _cmpSdkPlugin.configureConsentLayer(CmpUiConfig(screenConfig: ScreenConfig.fullScreen));
Tillgängliga layouter
- fullskärm
- halfScreen Bottom
- halfScreenTop
- mittskärm
- smallCenterSkärm
- largeTopScreen
- large Bottom Screen
Anmärkningar
API-dokumentation: dokumentation
Bibliotek: pub.dev