Kombinera inbyggt innehåll och webbinnehåll i en app
I många fall består en mobilapp av en inbyggd del (t.ex. skriven i Java eller Kotlin eller C++ och så vidare) och en webbdel (som vanligtvis uppnås genom att infoga en webbvy i appen). För att optimera användarupplevelsen finns det några rekommendationer och implementeringsstrategier som du kan använda.
Grundinställning
I allmänhet rekommenderar vi att du använder vår SDK för iOS or Android för att integrera CMP i din app (native del). CMP kommer vanligtvis att triggas vid appstart, visa samtyckeslagret och låta användaren göra sina val. När användaren har gjort valen kommer SDK:n att ta bort samtyckeslagret och appen fortsätter.
I de fall appen innehåller en webbvy, kommer innehållet i denna webbvy (t.ex. en webbsida som innehåller reklam) också att behöva veta om samtycke gavs och stöd för API:er som IAB TCF eller IAB GPP kan behövas. Därför bör webbsidan som laddas i webbvyn även innehålla CMP-koden (HTML-implementering av koden).
Utbyte av samtyckesinformation
Med ovanstående grundinställning är problemet att en användare kommer att bli tillfrågad två gånger: En gång vid appstart och en gång varje gång en (ny) webbvy öppnas. För att undvika detta kan samtyckesinformationen utbytas mellan SDK och webview. Detta görs genom att exportera samtyckesdata från SDK:n och bifoga den till URL:en som laddas i webbvyn.
Exempelvis:
// Swift version
let consentData = cmpManager.exportCmpString()
if let url = URL(string: "https://mywebsite.com/....#cmpimport=" + consentData) {
myWebView.load(URLRequest(url: url))
}
// Kotlin version
val consentData = cmpManager.exportCmpString()
myWebView.loadUrl("https://mywebsite.com/....#cmpimport=" + consentData)
(En exportfunktion finns för båda SDK:erna, exemplet ovan är hämtat från iOS-exemplen)
När webbvyn har laddats kommer CMP-koden i webbvyn att köras och hitta hashen (#cmpimport=.....
) i URL:en. CMP kommer automatiskt att importera dessa samtyckesdata och inte längre använda data från cookies eller lokal lagring. Eftersom samtyckesdata har importerats till CMP, bör samtyckeslagret normalt inte visas (igen) eftersom användarens samtycke redan finns.
Vänligen notera, att samtyckesinformation endast kan delas från SDK till webbvyn och inte i motsatt riktning.
Finjustering
Som ett sista steg kan det finnas någon finjustering som du kommer att vilja göra.
Å ena sidan bör CMP-koden som är integrerad i webbvyn inte visa ikonen för preferenscenter (vanligtvis på den nedre vänstra sidan av webbläsarfönstret, så att besökare kan uppdatera sina val). För att inaktivera ikonen, gå till Meny > Juridiska inställningar > GDPR/CCPA/... > Visa ikon.
Å andra sidan, även med #cmpimport=...
på URL:en kan det fortfarande finnas fall då CMP beslutar att visa samtyckesskiktet i webbvyn. För att undvika det rekommenderar vi att du lägger till en konfiguration på klientsidan variabel för alla sidor som visas i webbvyn:
<script>
window.cmp_noscreen = true;
</script>
... your CMP-Code ...
Detta förhindrar att samtyckesskiktet visas.
FAQ
Kan jag använda samma CMP i SDK:n och webbvyn?
Ja. För systemet spelar det ingen roll om samma CMP eller en annan CMP används i SDK, din webbvy och/eller din vanliga webbplats. Du kan använda samma CMP eller olika CMP:er i alla miljöer och alla CMP:er kan importera samtyckesdata från varandra.
Men eftersom appen i de flesta fall har olika behov vad gäller beteende och design, är det vanligtvis bättre att separera app-CMP:er och webb-CMP:er. Detsamma gäller för design: I allmänhet kan samma design användas i alla miljöer, men i många fall är det vettigt att ha en separat design för appmiljön.
Rekommendation: Om du använder olika CMP i din app och på din webbplats rekommenderar vi att du använder samma CMP, som används i den inbyggda delen av din app, för att också använda den i webbvyerna i din app.
Vilka är fördelarna och nackdelarna med att använda samma/en annan CMP?
Här är några fördelar med att använda samma CMP i alla dina miljöer:
- enklare hantering av leverantörslistor, ändamål och cookies eftersom alla miljöer använder samma konfiguration
- ingen friktion när samtyckesdata överförs från en miljö till en annan
Det här är nackdelarna med att använda samma CMP i alla dina miljöer:
- leverantörslistan är potentiellt längre jämfört med när CMP:erna är separerade (eftersom en kombinerad leverantörslista måste inkludera alla leverantörer från alla miljöer)
- ingen möjlighet att särskilja vissa allmänna inställningar (t.ex. allmänna inställningar som sekretess-URL, T&C-URL eller juridiska inställningar som stöd för GDPR, CCPA och andra)
- mer komplicerat när olika design ska användas (det kan vara nödvändigt att använda inriktningar)
Vad händer när två olika CMP:er används?
Om den CMP som används i den inbyggda delen av appen är en annan CMP än den i webbvyn, importeras samtyckesinformationen från den inbyggda SDK:n till CMP för webbvyn. I fall då det finns en skillnad mellan syfteslistan och/eller leverantörslistan för de två CMP:erna, kommer den importerande CMP:en (den i webbvyn) att behandla alla saknade syften och leverantörer som "inget samtycke" / "valt bort". För att illustrera detta, låt oss anta följande inställning:
CMP i den inbyggda delen av appen:
Syfte: A, B, C
Säljare: 1, 2, 3
CMP i webbvyn:
Syfte: C, D, E
Säljare: 3, 4, 5
I fallet när användaren accepterar i den inbyggda delen blir resultatet:
CMP i den inbyggda delen av appen:
Ändamål: A=accepterade, B=accepterade, C=accepterade
Leverantörer: 1=accepterade, 2 =accepterade, 3 =accepterade
CMP i webbvyn:
Ändamål: C=accepterade, D=förkastas, E=förkastas
Leverantörer: 3=accepterade, 4 =förkastas, 5 =förkastas
I fallet när användaren avvisar i den inbyggda delen blir resultatet:
CMP i den inbyggda delen av appen:
Ändamål: A=förkastas, B=förkastas, C=förkastas
Leverantörer: 1=förkastas, 2 =förkastas, 3 =förkastas
CMP i webbvyn:
Ändamål: C=förkastas, D=förkastas, E=förkastas
Leverantörer: 3=förkastas, 4 =förkastas, 5 =förkastas
Vänligen notera att hans beteende är oberoende av säljarnas tilldelning av ändamål. Detta innebär att resultatet blir detsamma som ovan, även om alla leverantörer är tilldelade syfte C.
Vänligen notera att hans beteende också är oberoende av de använda rättsliga grunderna för varje leverantör/ändamål och oberoende av den jurisdiktion där användaren befinner sig.