[Flamma] 1. consentmanager SDK-integration
I det här dokumentet hittar du allmän information om hur du integrerar vår SDK i ditt projekt. För ytterligare information, se vår API-referens dokumentation.
1. Installation
consentmanager SDK är en heltäckande lösning för att hantera användarsamtycke i mobilapplikationer. Designad för att hantera GDPR-efterlevnad, användarnas integritetspreferenser och insyn i annonsspårning, ger denna SDK en sömlös integration för iOS- och Android-plattformar. Dessutom erbjuder den omslagsplugins/bryggor för React Native, Flutter och Unity, vilket gör den mångsidig i olika utvecklingsmiljöer.
Steg - Beskrivning på hög nivå
-
Integration och konfiguration:
- Integrera SDK:n i din app.
- Konfigurera SDK-inställningarna efter dina behov.
-
Skapa en instans och visa samtyckeslagret:
- Vid appstart skapar du en instans av
CMPManager
klass. Denna instans kommer att hantera samtyckesprocessen. - SDK:n visar automatiskt samtyckesskärmen vid behov.
- Vid appstart skapar du en instans av
-
Bearbetar användarens samtyckesdata:
- När samtycken har samlats in lagras informationen och är tillgänglig för frågor genom olika egenskaper och metoder som exponeras av vår SDK. Du kommer att ha information om avvisade eller accepterade samtycken, leverantörer och syften.
1.1 Integration och konfiguration
Omslagsbiblioteket för Flutter är tillgängligt på pub.dev. På kommandoraden eller terminalfönstren, kör:
flutter pub add cmp_sdk_v3
Detta kommer att lägga till en rad som denna till ditt pakets pubspec.yaml (och köra en implicit flutter pub get
):
dependencies:
cmp_sdk: ^2.9.0
Alternativt kan din redaktör stödja flutter pub get
. Kontrollera dokumenten för din redaktör för att lära dig mer.
Importera
Nu i din Dart-kod kan du använda:
import 'package:cmp_sdk/cmp_sdk.dart';
1.2 Skapa en instans och visa samtyckeslager
Inom din kod måste du skapa en instans av klass CMPManager
. Du måste ställa in två objekt som skickas till getInstance-metoden: UrlConfig
, som hanterar din CMP-konfiguration, som kod-ID och standardspråk, och ConsentLayerUIConfig
. som kommer att konfigurera utseendet på WebView som visar samtyckeslagret. Efter det är du redo att använda metoden checkWithServerAndOpenIfNecessary()
för att automatiskt hämta nödvändig data från vår server och avgöra om samtyckesskärmen måste visas eller inte. Om så är fallet kommer SDK automatiskt att visa samtyckesskärmen vid denna tidpunkt, via en WebView
skapad av vår SDK, som kommer att visa samtyckeslagret med text och knappar enligt dina CMP-konfigurationer (valda via kod-ID för din CMP), samla in data och bevara samtyckesinformationen i området NSUserDefaults/UserPreferences på enheten , så att appen kan visa de riktade annonserna därefter.
Observera att funktionerna för att avgöra om samtycke behövs eller inte, liksom visningen av samtyckesskiktet, beror på en tillförlitlig nätverksanslutning. Om det inte finns någon tillgänglig anslutning eller om mekanismen för ett nytt försök misslyckas med att nå vår server, kommer didReceiveError-händelsen att returnera ett timeout-fel, och så SDK:n kommer att vara helt oförmögen att avgöra behovet av ett samtycke, eftersom det kommer att vara helt oförmöget att visa samtyckeslagret. Se till att din logik tar hänsyn till detta.
Exempelvis:
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 Behandling av användarnas samtyckesdata
Kontrollera användarnas samtycke
Vår SDK erbjuder olika metoder för att kontrollera och hämta samtyckesinformation. De viktigaste metoderna visas i exemplet nedan:
// 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');
}
För ytterligare information om de andra metoderna, se vår fullständiga API-dokumentation.
Öppna samtyckeslagret igen för att kontrollera användarnas val
För att tillåta användaren att verifiera eller ändra sina val kan du helt enkelt ringa openConsentLayer()
void openConsentLayer() async {
await _cmpSdkPlugin.openConsentLayer();
notifyListeners();
}
Den här metoden kommer att visa samtyckeslagret via samma WebView-instans som skapades i de föregående stegen.
Importera/exportera samtyckesinformation till andra källor
I vissa fall kan en inbyggd app innehålla webbvisningar för att visa information, som reklam eller innehåll. För att överföra samtyckesinformationen från SDK till webbvyn kan du hämta samtyckessträngen med:
_cmpSdkPlugin.exportCMPInfo
Detta kommer att exportera samtyckesinformationen och all ytterligare data som behövs av CMP. Du kan sedan skicka denna information till den CMP som finns i din webbvy genom att lägga till den i den URL som anropas i webbvyn.
Om du annars behöver importera samtyckessträngen med SDK:n kan du använda exemplet nedan:
await _cmpSdkPlugin.importCMPInfo(
'Q1FERkg3QVFERkg3QUFmR01CSVRCQkVnQUFBQUFBQUFBQWlnQUFBQUFBQUEjXzUxXzUyXzUzXzU0XzU1XzU2XyNfczI3ODlfczI3OTBfczI3OTFfczI2OTdfczk3MV9VXyMxLS0tIw'
)
Integration med Apple Tracking Transparency (ATT)
Om du använder spårning eller analys i din app rekommenderar vi att du läser guiden på ATT-implementering här.
Skapa en anpassad layout
För att skapa en anpassad vy av WKWebView, som att ändra dess placering eller bakgrund, till exempel, kan du ändra konfigurationen som skickas till ConsentLayerUIConfig-objektet enligt nedan:
ConsentLayerUIConfig(
position: .halfScreenTop,
backgroundStyle: .dimmed(.grey, 0.75),
cornerRadius: 20,
respectsSafeArea: false,
allowsOrientationChanges: true)
Loggning
När du använder vår iOS SDK kan du behöva felsöka eller analysera logginformation för olika ändamål. Loggarna som genereras av vår SDK är taggade under "CMP", vilket gör att du enkelt kan filtrera och bara visa relevanta loggar. För ytterligare information, se Den här delen av vår dokumentation.