[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
-
Integration und Konfiguration:
- Integrieren Sie das SDK in Ihre App.
- Konfigurieren Sie die SDK-Einstellungen entsprechend Ihren Anforderungen.
-
Erstellen einer Instanz:
- Erstellen Sie beim Start der App eine Instanz von
CMPManager
Klasse. Diese Instanz übernimmt den Einwilligungsprozess.
- Erstellen Sie beim Start der App eine Instanz von
-
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.
-
Anzeigen des Einwilligungsbildschirms:
- Das SDK zeigt bei Bedarf automatisch den Einwilligungsbildschirm an
CMPManager.initialize()
Methode wird aufgerufen.
- Das SDK zeigt bei Bedarf automatisch den Einwilligungsbildschirm an
-
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.
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:
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'),
);
Einwilligung verwalten
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");
}
}
Einwilligungsstatus und Informationen
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.
-
Überprüfen Sie die Einwilligungsvoraussetzung:
await _cmpSdkPlugin.check();
-
Einwilligungsstatus abrufen: Implementieren Sie eine Methode zum Abrufen und Kompilieren des Einwilligungsstatus aus verschiedenen SDK-Methoden wie
exportCmpString
,hasConsent
,getAllVendors
, usw.
Erstellen eines benutzerdefinierten Layouts
Die Benutzeroberfläche der Einwilligungsschicht kann mithilfe des Objekts „CmpUiConfig“ angepasst werden. Sie können die Bildschirmkonfiguration (z. B. Vollbild, Halbbild) entsprechend den Anforderungen Ihrer Anwendung festlegen.
await _cmpSdkPlugin.configureConsentLayer(CmpUiConfig(screenConfig: ScreenConfig.fullScreen));
Verfügbare Layouts
- ganzer Bildschirm
- halfScreenBottom
- halfScreenTop
- centerScreen
- smallCenterScreen
- großer TopScreen
- großerBottomScreen