Informacia
Treść

[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. 

1. Instalacja

consentmanager SDK to kompleksowe rozwiązanie do zarządzania zgodą użytkownika w aplikacjach mobilnych. Zaprojektowany do obsługi zgodności z GDPR, preferencji prywatności użytkownika i przejrzystości śledzenia reklam, ten SDK zapewnia bezproblemową integrację z platformami iOS i Android. Ponadto oferuje wtyczki/mostki wrapper dla React Native, Flutter i Unity, co czyni go wszechstronnym w różnych środowiskach programistycznych.

Kroki — opis wysokiego poziomu

  1. Integracja i konfiguracja:

    • Zintegruj pakiet SDK ze swoją aplikacją.
    • Skonfiguruj ustawienia SDK zgodnie ze swoimi potrzebami.
  2. Tworzenie instancji i wyświetlanie warstwy zgody:

    • Podczas uruchamiania aplikacji utwórz instancję CMPManager klasa. Ta instancja będzie obsługiwać proces wyrażania zgody.
    • W razie potrzeby zestaw SDK automatycznie wyświetli ekran zgody.
  3. Przetwarzanie danych zgody użytkownika:

    • Po zebraniu zgód informacje są przechowywane i dostępne do zapytania za pośrednictwem różnych właściwości i metod udostępnianych przez nasz zestaw SDK. Będziesz mieć informacje o odrzuconych lub zaakceptowanych zgodach, dostawcach i celach.

1.1 Integracja i konfiguracja

Biblioteka wrapperów dla Fluttera jest dostępna na pub.dev. W wierszu poleceń lub oknie terminala uruchom:

flutter pub add cmp_sdk_v3

Spowoduje to dodanie takiej linii do pliku pubspec.yaml pakietu (i uruchomienie implicit flutter pub get):

dependencies:  
	cmp_sdk: ^2.9.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';

1.2 Tworzenie instancji i wyświetlanie warstwy zgody

W kodzie musisz utworzyć instancję klasy CMPManager. Musisz skonfigurować dwa obiekty, które zostaną przekazane do metody getInstance: UrlConfig, który obsługuje konfigurację CMP, taką jak Code-ID i domyślny język, i ConsentLayerUIConfig. który skonfiguruje wygląd WebView, który wyświetli warstwę zgody. Następnie możesz użyć metody checkWithServerAndOpenIfNecessary() aby automatycznie pobrać niezbędne dane z naszego serwera i określić, czy ekran zgody musi zostać wyświetlony, czy nie. Jeśli tak, SDK automatycznie wyświetli ekran zgody w tym momencie, za pośrednictwem WebView utworzony przez nasz zestaw SDK, który wyświetli warstwę zgody z tekstem i przyciskami zgodnie z konfiguracją CMP (wybraną za pomocą identyfikatora kodu CMP), zbierze dane i zapisze informacje o zgodzie w obszarze NSUserDefaults/UserPreferences urządzenia, dzięki czemu aplikacja będzie mogła wyświetlać odpowiednie reklamy. 

Należy pamiętać, że funkcjonalności związane z określeniem, czy zgoda jest potrzebna, czy nie, a także wyświetlanie warstwy zgody zależą od niezawodnego połączenia sieciowego. Jeśli nie ma dostępnego połączenia lub jeśli mechanizm ponownej próby nie dotrze do naszego serwera, zdarzenie didReceiveError zwróci błąd limitu czasu, a zatem SDK nie będzie w stanie określić potrzeby zgody, ponieważ nie będzie w stanie wyświetlić warstwy zgody. Upewnij się, że Twoja logika to uwzględnia.

Przykład:

final CMPmanager cmpSdkPlugin = CMPmanager.instance;

CMPmanager.instance.setUrlConfig(
  id: testId,
  domain: testDomain,
  appName: testAppName,
  language: testLanguage);
});

void checkWithServerAndOpenIfNecessary() async {
  await _cmpSdkPlugin.checkWithServerAndOpenIfNecessary();
  notifyListeners();
}

1.3 Przetwarzanie danych zgody użytkowników

Sprawdzanie zgód użytkowników

Nasz SDK oferuje różne metody sprawdzania i pobierania informacji o zgodzie. Główne metody są wyświetlane w poniższym przykładzie:

// On the example below retrieved from our Demo App, we have some examples 
// of how to check consents from the user, either accepted or rejected. 

Future<void> checkVendorConsent() async {
  if (_idString.isEmpty) {
    Fluttertoast.showToast(msg: 'Vendor ID is empty');
    return;
  }
  final hasConsent = await _cmpSdkPlugin.hasVendorConsent(_idString);
  Fluttertoast.showToast(
    msg: hasConsent
    ? 'Consent for vendor exists $_idString'
    : 'No consent for vendor: $_idString');
}

Future<void> checkPurposeConsent() async {
  if (_idString.isEmpty) {
    Fluttertoast.showToast(msg: 'Purpose ID is empty');
    return;
  }
  final hasConsent = await _cmpSdkPlugin.hasPurposeConsent(_idString);
  Fluttertoast.showToast(
    msg: hasConsent
    ? 'Consent for purpose exists $_idString'
    : 'No consent for purpose: $_idString');
}

Aby uzyskać więcej informacji na temat innych metod, zapoznaj się z naszą pełną wersją Dokumentacja API

Ponowne otwarcie warstwy zgody w celu sprawdzenia wyborów użytkowników

Aby umożliwić użytkownikowi sprawdzenie lub zmianę swoich wyborów, wystarczy zadzwonić pod numer openConsentLayer()

void openConsentLayer() async {
  await _cmpSdkPlugin.openConsentLayer();
  notifyListeners();
}

Ta metoda wyświetli warstwę zgody za pośrednictwem tej samej instancji WebView, która została utworzona w poprzednich krokach. 

W niektórych przypadkach aplikacja natywna może zawierać webviews w celu wyświetlania informacji, takich jak reklamy lub treści. Aby przesłać informacje o zgodzie z SDK do webview, możesz pobrać ciąg zgody za pomocą:

_cmpSdkPlugin.exportCMPInfo

Spowoduje to wyeksportowanie informacji o zgodzie i wszystkich dalszych danych, które są potrzebne CMP. Następnie możesz przekazać te informacje do CMP, który znajduje się w Twoim widoku internetowym, dodając je do adresu URL, który jest wywoływany w widoku internetowym.

Jeśli w przeciwnym razie musisz zaimportować ciąg zgody za pomocą zestawu SDK, możesz skorzystać z poniższego przykładu:

await _cmpSdkPlugin.importCMPInfo(
          'Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw'
      )

Integracja z Apple Tracking Transparency (ATT)

Jeśli korzystasz ze śledzenia lub analityki w swojej aplikacji, zalecamy zapoznanie się z przewodnikiem Implementacja ATT tutaj.

Tworzenie niestandardowego układu

Aby utworzyć niestandardowy widok WKWebView, na przykład zmienić jego położenie lub tło, możesz zmienić konfigurację przekazaną do obiektu ConsentLayerUIConfig w następujący sposób:

ConsentLayerUIConfig(
    position: .halfScreenTop,
    backgroundStyle: .dimmed(.grey, 0.75),
    cornerRadius: 20,
    respectsSafeArea: false,
    allowsOrientationChanges: true)

Logowanie

Podczas korzystania z naszego zestawu SDK dla systemu iOS może zaistnieć potrzeba debugowania lub analizowania informacji z dziennika w różnych celach. Dzienniki generowane przez nasz zestaw SDK są oznaczone jako „CMP”, co pozwala na łatwe filtrowanie i przeglądanie tylko odpowiednich dzienników. Aby uzyskać więcej informacji, zapoznaj się z w tej sekcji naszej dokumentacji.

 

 

Powrót do góry