[fladderen] 1. consentmanager SDK-integratie
In dit document vindt u algemene informatie over hoe u onze SDK in uw project kunt integreren. Voor meer details verwijzen wij u naar onze API-referentie documentatie.
1. Installatie
consentmanager SDK is een uitgebreide oplossing voor het beheren van gebruikerstoestemming in mobiele applicaties. Deze SDK is ontworpen om GDPR-naleving, gebruikersprivacyvoorkeuren en transparantie bij het volgen van advertenties te verwerken en biedt een naadloze integratie voor iOS- en Android-platforms. Daarnaast biedt het wrapper-plugins/bruggen voor React Native, Flutter en Unity, waardoor het veelzijdig is in verschillende ontwikkelomgevingen.
Stappen - Beschrijving op hoog niveau
-
Integratie en configuratie:
- Integreer de SDK in uw app.
- Configureer de SDK-instellingen volgens uw behoeften.
-
Een instantie maken en de toestemmingslaag weergeven:
- Maak bij het opstarten van de app een exemplaar van het
CMPManager
klas. Deze instantie zal het toestemmingsproces afhandelen. - De SDK geeft indien nodig automatisch het toestemmingsscherm weer.
- Maak bij het opstarten van de app een exemplaar van het
-
Verwerking van toestemmingsgegevens van gebruikers:
- Zodra toestemmingen zijn verzameld, wordt informatie opgeslagen en is deze beschikbaar voor query's via verschillende eigenschappen en methoden die door onze SDK worden blootgesteld. U krijgt informatie over afgewezen of geaccepteerde toestemmingen, leveranciers en doeleinden.
1.1 Integratie en configuratie
De wrapperbibliotheek voor Flutter is beschikbaar op pub.devVoer het volgende uit in het opdrachtregel- of terminalvenster:
flutter pub add cmp_sdk_v3
Dit zal een regel als deze toevoegen aan de pubspec.yaml van uw pakket (en een impliciete flutter pub get
):
dependencies:
cmp_sdk: ^2.9.0
Als alternatief kan uw redacteur dit mogelijk ondersteunen flutter pub get
. Bekijk de documenten van uw redacteur voor meer informatie.
import
In uw Dart-code kunt u nu het volgende gebruiken:
import 'package:cmp_sdk/cmp_sdk.dart';
1.2 Een instantie maken en de toestemmingslaag weergeven
Binnen uw code moet u een instantie van de klasse maken CMPManager
. U moet twee objecten instellen die worden doorgegeven aan de getInstance-methode: UrlConfig
, die uw CMP-configuratie afhandelt, zoals Code-ID en standaardtaal, en ConsentLayerUIConfig
. die de looks van de WebView configureert die de toestemmingslaag zal weergeven. Daarna bent u klaar om de methode te gebruiken checkWithServerAndOpenIfNecessary()
om automatisch de benodigde gegevens van onze server op te halen en te bepalen of het toestemmingsscherm getoond moet worden of niet. Als dat zo is, zal de SDK op dit punt automatisch het toestemmingsscherm tonen, via een WebView
gemaakt door onze SDK, die de toestemmingslaag weergeeft met de tekst en knoppen volgens uw CMP-configuraties (gekozen via de Code-ID van uw CMP), de gegevens verzamelt en de toestemmingsinformatie opslaat in het NSUserDefaults/UserPreferences-gebied van het apparaat, zodat de app de gerichte advertenties dienovereenkomstig kan weergeven.
Houd er rekening mee dat de functionaliteiten die betrekking hebben op het bepalen of toestemming nodig is of niet, evenals de weergave van de toestemmingslaag, afhankelijk zijn van een betrouwbare netwerkverbinding. Als er geen verbinding beschikbaar is of als het mechanisme van opnieuw proberen onze server niet bereikt, retourneert de gebeurtenis didReceiveError een time-outfout en kan de SDK de noodzaak van toestemming dus helemaal niet bepalen, omdat de toestemmingslaag helemaal niet kan worden weergegeven. Zorg ervoor dat uw logica hiermee rekening houdt.
Voorbeeld:
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 Verwerking van toestemmingsgegevens van gebruikers
Controleren van toestemmingen van gebruikers
Onze SDK biedt verschillende methoden om toestemmingsinformatie te controleren en op te halen. De belangrijkste methoden worden weergegeven in het onderstaande voorbeeld:
// 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');
}
Voor meer informatie over de andere methoden verwijzen wij u naar onze volledige API-documentatie.
De toestemmingslaag opnieuw openen om de keuzes van de gebruikers te controleren
Om de gebruiker toe te staan zijn keuzes te verifiëren of te wijzigen, kunt u eenvoudig bellen openConsentLayer()
void openConsentLayer() async {
await _cmpSdkPlugin.openConsentLayer();
notifyListeners();
}
Met deze methode wordt de toestemmingslaag weergegeven via hetzelfde WebView-exemplaar dat in de vorige stappen is gemaakt.
Importeren/exporteren van toestemmingsinformatie naar andere bronnen
In sommige gevallen kan een native app webviews bevatten om informatie weer te geven, zoals advertenties of content. Om de toestemmingsinformatie van de SDK naar de webview te verzenden, kunt u de toestemmingsstring ophalen met:
_cmpSdkPlugin.exportCMPInfo
Hiermee worden de toestemmingsinformatie en alle verdere gegevens die nodig zijn voor de CMP geëxporteerd. U kunt deze informatie vervolgens doorgeven aan de CMP die zich in uw webview bevindt door deze toe te voegen aan de URL die in de webview wordt aangeroepen.
Als u de toestemmingsreeks anders met behulp van de SDK moet importeren, kunt u het onderstaande voorbeeld gebruiken:
await _cmpSdkPlugin.importCMPInfo(
'Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw'
)
Integratie met Apple Tracking Transparency (ATT)
Als u tracking of analytics in uw app gebruikt, raden we u aan de handleiding te lezen ATT-implementatie hier.
Een aangepaste lay-out maken
Om een aangepaste weergave van de WKWebView te maken, bijvoorbeeld door de positie of achtergrond te wijzigen, kunt u de configuratie die is doorgegeven aan het ConsentLayerUIConfig-object als volgt wijzigen:
ConsentLayerUIConfig(
position: .halfScreenTop,
backgroundStyle: .dimmed(.grey, 0.75),
cornerRadius: 20,
respectsSafeArea: false,
allowsOrientationChanges: true)
Logging
Wanneer u onze iOS SDK gebruikt, kan het nodig zijn om loginformatie te debuggen of analyseren voor verschillende doeleinden. De logs die door onze SDK worden gegenereerd, zijn getagd onder "CMP", zodat u eenvoudig de relevante logs kunt filteren en bekijken. Raadpleeg voor meer informatie deze sectie van onze documentatie.