Info
Inhalt

[Flattern] 1. consentmanager SDK-Integration

In diesem Dokument finden Sie allgemeine Informationen zur Integration unseres SDK in Ihr Projekt. Weitere Einzelheiten entnehmen Sie bitte unserer API-Referenz Dokumentation. Das SDK ist verfügbar unter pub.dev .

1. Installation

Die consentmanager SDK für iOS-Apps implementiert und bietet Funktionen, um den Benutzer über den Datenschutz zu informieren und die Zustimmung des Benutzers einzuholen und einzuholen. Es ermöglicht App-Entwicklern, das einfach zu integrieren consentmanager Service in ihre App.

Schritte – Beschreibung auf hoher Ebene

  1. Integration und Konfiguration:

    • Integrieren Sie das SDK in Ihre App.
    • Konfigurieren Sie die SDK-Einstellungen entsprechend Ihren Anforderungen.
  2. Erstellen einer Instanz:

    • Erstellen Sie beim Start der App eine Instanz von CMPManager Klasse. Diese Instanz übernimmt den Einwilligungsprozess.
  3. SDK-Initialisierung:
    • Sobald die Instanz bereit ist, ruft das SDK automatisch die erforderlichen Informationen von der Instanz ab consentmanager Server, um sich auf den Betrieb vorzubereiten.
  4. Anzeigen des Einwilligungsbildschirms:

    • Das SDK zeigt bei Bedarf automatisch den Einwilligungsbildschirm an CMPManager.initialize()Methode wird aufgerufen.
  5. Verarbeitung personenbezogener Daten:

    • Sobald die Einwilligungen eingeholt wurden, werden die Informationen gespeichert und stehen für Abfragen über verschiedene Eigenschaften und Methoden zur Verfügung, die von unserem SDK bereitgestellt werden. Sie erhalten Informationen über abgelehnte oder akzeptierte Einwilligungen, Anbieter, Zwecke usw.

Indem Sie diese Schritte befolgen, stellen Sie sicher, dass Ihre App den Einwilligungsanforderungen entspricht und dass die Nutzereinwilligung ordnungsgemäß verwaltet und gespeichert wird.

Consent Manager Anbieter-SDK-Sequenzdiagramm

Um die oben genannten Schritte zu veranschaulichen, sehen wir uns im Diagramm unten drei mögliche SDK-Sequenzabläufe an. 

1. Beim Erstellen einer Instanz mit dem initialisieren Funktion gibt es zwei mögliche Ergebnisse. Der erste Fall besteht darin, dass die Consentmanger-API das SDK darüber informiert, dass das CMP nicht geöffnet wird, was das auslöst OnCmpNotOpenedCallback. Das zweite Ergebnis ist, wenn die Zustimmungsebene geöffnet wird, sodass der Benutzer damit interagieren kann, und dies löst die aus OnOpenCallback. Sobald der Benutzer seine Zustimmung erteilt und die Zustimmung verarbeitet wird, wird die OnCmpCloseCallback wird genannt.

Bitte beachten Sie, dass die OnErrorCallback wird durch die rot gestrichelten Pfeillinien dargestellt, um Beispiele dafür zu liefern, wann während des Prozesses Fehler auftreten können.

Initialize-Cmp-Sequence-Diagram.png

2. Erstellen einer Instanz und Aufrufen der openAndCheckConsent Funktionen führen zu einem ähnlichen Prozess. Der Unterschied besteht darin, dass Sie durch die Entkopplung der Erstellung der Instanz und der Prüfung für die Consentmanger-API die Möglichkeit erhalten, Geschäftslogik hinzuzufügen und mit der Bibliotheks-API zu interagieren.

3. Erstellen einer Instanz und Aufrufen der offeneSchicht Die Funktion öffnet die Ebene, ohne die zu überprüfen consentmanager, wenn es nötig ist. Bei bereits erteilter Einwilligung werden dem Nutzer die Optionen und Einstellungen aufgezeigt. Der Prozessablauf wird wie folgt aussehen:

openlayer-Cmp-Sequenzdiagramm-.png

Weitere Informationen zu unserer SDK-Versionsübersicht und dem Änderungsprotokoll finden Sie unter  diesen Link.

Installation über pub.dev

Führe diesen Befehl aus:

Mit Flutter:

flutter pub add cmp_sdk

Dadurch wird eine Zeile wie diese zur pubspec.yaml Ihres Pakets hinzugefügt (und eine implizite ausgeführt flutter pub get):

dependencies:  
	cmp_sdk: 2.5.4

Alternativ könnte Ihr Herausgeber Sie unterstützen flutter pub get. Weitere Informationen finden Sie in den Dokumenten Ihres Redakteurs.

Import

Jetzt können Sie in Ihrem Dart-Code Folgendes verwenden:

import 'package:cmp_sdk/cmp_sdk.dart';

2. Initialisieren des SDK

Beim App-Start müssen Sie eine Instanz der Klasse erstellen CMPManager das über das Singleton-Muster für die restlichen Klassen verfügbar ist, die darauf zugreifen. initialize() Die Funktion ruft automatisch die erforderlichen Daten von unserem Server ab und ermittelt, ob der Zustimmungsbildschirm direkt beim Startereignis der App angezeigt werden muss oder nicht. Wenn dies der Fall ist, zeigt das SDK an dieser Stelle automatisch den Zustimmungsbildschirm an, sammelt die Daten und stellt sie der App zur Verfügung. Die Instanz kann dann verwendet werden, um Zustimmungsdetails vom SDK abzurufen, um sie in der App zu verwenden.

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

Ereignisrückrufe

Das SDK ermöglicht das Einrichten von Rückrufen für verschiedene Ereignisse der Zustimmungsebene wie Öffnen, Schließen, Fehler und Schaltflächenklicks. Dies ist für Protokollierungszwecke oder die Ausführung zusätzlicher Logik basierend auf Benutzerinteraktionen nützlich.

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

Das SDK bietet Methoden zum globalen Akzeptieren oder Ablehnen von Einwilligungen, zum Zurücksetzen von Einwilligungsdaten und zum Öffnen der Einwilligungsebene für die Benutzerinteraktion.

  • Akzeptieren: await _cmpSdkPlugin.acceptAll();
  • Ablehnen: await _cmpSdkPlugin.rejectAll();
  • Shau: await _cmpSdkPlugin.check();
  • Einwilligung zurücksetzen: await _cmpSdkPlugin.reset();
  • Öffnen Sie die Einwilligungsebene: await _cmpSdkPlugin.open();

CMP-String exportieren und importieren

Die CMP-Zeichenfolge, die die Einwilligungspräferenzen des Benutzers darstellt. Sie können es in das CMP SDK importieren, um diese Einstellungen anzuwenden. Dies kann nützlich sein, um Einwilligungspräferenzen zwischen verschiedenen Teilen Ihrer Anwendung zu übertragen oder diese extern zu speichern.

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

Mithilfe der SDK-Methoden können Sie verschiedene einwilligungsbezogene Informationen abrufen, z. B. prüfen, ob eine Einwilligung erforderlich ist, den aktuellen Einwilligungsstatus abrufen und Einwilligungen für bestimmte Anbieter oder Zwecke einholen.

Erstellen eines benutzerdefinierten Layouts

await _cmpSdkPlugin.configureConsentLayer(CmpUiConfig(screenConfig: ScreenConfig.fullScreen));
Verfügbare Layouts
  • ganzer Bildschirm
  • halfScreenBottom
  • halfScreenTop
  • centerScreen
  • smallCenterScreen
  • großer TopScreen
  • großerBottomScreen

 

Nach oben