[Trzepotanie] 1. consentmanager Integracja SDK
W tym dokumencie znajdziesz ogólne informacje na temat integracji naszego SDK z Twoim projektem. Więcej szczegółów znajdziesz w naszym Dokumentacja API Dokumentacja. SDK jest dostępny pod adresem Publikacja.
1. Instalacja
Kurs consentmanager SDK dla aplikacji na iOS implementuje i zapewnia funkcjonalność informowania użytkownika o ochronie danych oraz pytania i zbierania zgody od użytkownika. Umożliwia programistom aplikacji łatwą integrację consentmanager usługi do swojej aplikacji.
Kroki — opis wysokiego poziomu
-
Integracja i konfiguracja:
- Zintegruj pakiet SDK ze swoją aplikacją.
- Skonfiguruj ustawienia SDK zgodnie ze swoimi potrzebami.
-
Tworzenie instancji:
- Podczas uruchamiania aplikacji utwórz instancję
CMPManager
klasa. Ta instancja będzie obsługiwać proces wyrażania zgody.
- Podczas uruchamiania aplikacji utwórz instancję
-
Inicjalizacja SDK:
- Gdy instancja będzie gotowa, SDK automatycznie pobierze niezbędne informacje z pliku consentmanager serwerów w celu przygotowania ich do działania.
-
Wyświetlanie ekranu zgody:
- W razie potrzeby pakiet SDK automatycznie wyświetli ekran zgody
CMPManager.initialize()
wywoływana jest metoda
- W razie potrzeby pakiet SDK automatycznie wyświetli ekran zgody
-
Przetwarzanie danych osobowych:
- Po zebraniu zgód informacje są przechowywane i można je przeglądać za pomocą różnych właściwości i metod udostępnianych przez nasz pakiet SDK. Będziesz mieć informacje o odrzuconych lub zaakceptowanych zgodach, dostawcach, celach itp.
Wykonując te kroki, masz pewność, że Twoja aplikacja jest zgodna z wymogami dotyczącymi zgody oraz że zgody użytkowników są odpowiednio zarządzane i przechowywane.
Consent Manager Diagram sekwencji zestawu SDK dostawcy
Aby zilustrować powyższe kroki, sprawdźmy na poniższym diagramie trzy możliwe przepływy sekwencji SDK.
1. Podczas tworzenia instancji przy użyciu zainicjować funkcji, istnieją dwa możliwe wyniki. Pierwsza ma miejsce, gdy interfejs API zgody informuje zestaw SDK, że CMP nie zostanie otwarty, co powoduje wyzwolenie OnCmpNotOpenedWywołanie zwrotne. Drugim rezultatem jest otwarcie warstwy zgody, co pozwala użytkownikowi na interakcję z nią, a to wyzwala OnOpenCallback. Po wyrażeniu przez użytkownika zgody i przetworzeniu zgody, OnCmpCloseOddzwonienie nazywa się.
Należy pamiętać, że Przy oddzwonieniu po błędzie jest reprezentowany przez czerwone przerywane linie strzałek, aby podać przykłady błędów, które mogą wystąpić podczas procesu.
2. Tworzenie instancji i wywoływanie otwórz i sprawdź zgodę funkcje doprowadzą do podobnego procesu. Różnica polega na tym, że oddzielając tworzenie instancji od sprawdzania API zgody, zyskujesz możliwość dodawania logiki biznesowej i interakcji z API bibliotek.
3. Tworzenie instancji i wywoływanie Otwórz warstwę funkcja otworzy warstwę bez sprawdzania pliku consentmanager, jeśli to konieczne. Jeśli jest już wyrażona zgoda, opcje i ustawienia zostaną pokazane użytkownikowi. Przebieg procesu będzie wyglądał następująco:
Więcej informacji na temat naszego przeglądu wersji pakietu SDK i dziennika zmian można znaleźć w artykule pod tym linkiem.
Instalacja poprzez pub.dev
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: 2.5.4
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';
2. Inicjowanie pakietu SDK
W ramach aplikacji startowej należy utworzyć wystąpienie klasy CMPManager
który będzie dostępny poprzez wzorzec singleton dla pozostałych klas uzyskujących do niego dostęp. initialize()
funkcja automatycznie pobierze niezbędne dane z naszego serwera i ustali, czy ekran zgody musi zostać wyświetlony, czy nie, bezpośrednio na początku zdarzenia aplikacji. Jeśli tak, SDK automatycznie wyświetli ekran zgody w tym momencie, zbierze dane i przekaże je aplikacji. Następnie można użyć instancji, aby uzyskać szczegóły zgody z SDK w celu użycia jej w aplikacji.
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;
}
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