[Trzepotanie] 1. consentmanager Integracja SDK
Instalacja
Uruchom to polecenie:
Z Flutterem:
flutter pub add cmp_sdk
Spowoduje to dodanie takiej linii do pliku pubspec.yaml pakietu (i uruchomienie implicit flutter pub get
):
dependencies:
cmp_sdk: ^0.1.0
Alternatywnie, Twój edytor może obsługiwać flutter pub get
. Aby dowiedzieć się więcej, przejrzyj dokumentację swojego edytora.
import
Teraz w swoim kodzie Dart możesz użyć:
import 'package:cmp_sdk/cmp_sdk.dart';
Korzystanie z biblioteki
Aby utworzyć instancję CmpSdk
z podstawową konfiguracją:
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",
);
}
Otwórz warstwę zgody
Wywołania zwrotne zdarzeń
SDK umożliwia konfigurowanie wywołań zwrotnych dla różnych zdarzeń warstwy zgody, takich jak otwieranie, zamykanie, błędy i kliknięcia przycisków. Jest to przydatne do celów rejestrowania lub wykonywania dodatkowej logiki w oparciu o interakcje użytkownika.
_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'),
);
Zarządzanie zgodami
Zestaw SDK zapewnia metody globalnego akceptowania lub odrzucania zgody, resetowania danych zgody i otwierania warstwy zgody dla interakcji użytkownika.
-
Akceptuj wszystkie:
await _cmpSdkPlugin.acceptAll();
-
Odrzuć wszystko:
await _cmpSdkPlugin.rejectAll();
-
Sprawdź:
await _cmpSdkPlugin.check();
-
Zresetuj zgodę:
await _cmpSdkPlugin.reset();
-
Otwórz warstwę zgody:
await _cmpSdkPlugin.open();
Eksportowanie i importowanie ciągu CMP
Ciąg CMP reprezentujący preferencje dotyczące zgody użytkownika. Możesz zaimportować go do pakietu SDK CMP, aby zastosować te preferencje. Może to być przydatne do przenoszenia preferencji dotyczących zgody pomiędzy różnymi częściami aplikacji lub przechowywania ich na zewnątrz.
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");
}
}
Stan zgody i informacje
Za pomocą metod pakietu SDK możesz pobierać różne informacje związane z zgodą, takie jak sprawdzanie, czy wymagana jest zgoda, pobieranie bieżącego stanu zgody oraz uzyskiwanie zgody dla określonych dostawców lub celów.
-
Sprawdź wymóg zgody:
await _cmpSdkPlugin.check();
-
Uzyskaj status zgody: Zaimplementuj metodę pobierania i kompilowania statusu zgody z różnych metod SDK, takich jak
exportCmpString
,hasConsent
,getAllVendors
, itp.
Tworzenie niestandardowego układu
Interfejs warstwy zgody można dostosować za pomocą obiektu „CmpUiConfig”. Możesz określić konfigurację ekranu (np. pełny ekran, półekran) zgodnie z potrzebami Twojej aplikacji.
await _cmpSdkPlugin.configureConsentLayer(CmpUiConfig(screenConfig: ScreenConfig.fullScreen));
Dostępne układy
- pełny ekran
- połowa ekranu na dole
- połowa ekranuGóra
- środkowy ekran
- mały ekran środkowy
- duży ekran górny
- duży dolny ekran
Uwagi
Dokumentacja API: dokumentacja
Biblioteka: pub.dev