Info
Innehåll

ConsentManager GDPR / CCPA SDK för Android

Vårt ConsentManager SDK för Android-appar implementerar och tillhandahåller funktionalitet för att informera användaren om dataskydd och fråga och samla in samtycke från användaren. Det gör det möjligt för app-utvecklare att enkelt integrera ConsentManager tjänst i deras app.

Stödda standarder

Vårt ConsentManager GDPR / CCPA SDK för Android stöder följande branschstandarder:

  • IAB TCF v1
  • IAB TCF v2
  • IAB USPrivacy v1
  • ConsentManager anpassade leverantörer / ändamål
  • Googles ytterligare samtyckesläge (Google AC String)

Hur det fungerar

  1. Integrera SDK i appen och konfigurera SDK-inställningarna
  2. När SDK-enheten är sammankopplad i en app kommer SDK att tillhandahålla funktioner för apputvecklaren för att hämta samtyckesdata
  3. Så snart appen startar hämtar SDK automatiskt information från ConsentManager servrar för att förbereda SDK för dess användning.
  4. Det rekommenderas att appen skapar en klassinstans vid start av appen CMPConsentTool. När detta har skapats kommer SDK automatiskt att visa samtyckeskärmen vid behov.
  5. När appen vill behandla personuppgifter, bör den "fråga" SDK om samtycke gavs för det specifika syftet och leverantören.

Installation

Ladda ner SDK

Ladda ner den senaste versionen av SDK här: https://plugins.consentmanager.net/Android-SDK.zip

ZIP-filen innehåller två mappar consentmanager och ConsentManagerTest. Mappen ConsentManagerTest innehåller ett exempelprojekt som illustrerar användningen av SDK med Android Studio. Mappen consentmanager innehåller endast de filer som är relaterade till SDK själv för att integrera den i ditt eget projekt.

SDK är konfigurerad för Android SDK-plattform version 29 och högre.

Integration

Följ dessa steg för att integrera SDK: n i ditt befintliga projekt:

  1. Öppna ditt befintliga projekt i Android Studio och klicka på Meny> Ny> Fil> Importera modul ...

  2. Klicka på webbläsarikonen och välj consentmanager mapp från ConsentManager SDK och klicka på Finish:

  3. Klicka på Meny> Arkiv> Projektstrukturer ...,  navigera till Beroenden> app, Klicka på + ikonen och välj Modulberoende:
  4. Välja consentmanager som beroende du vill lägga till och klicka på OK

  5. In Project Explorer gå till Gradle Scripts> build.gradle (Modul: app) och lägg till följande rader i android { ... } avsnitt:
    compileOptions 
    {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    }
  6. Klicka på Synkronisera nu för att uppdatera projektet

behörigheter

Denna SDK kräver följande behörigheter, se till att lägga till dem i din AndroidManifest.xml:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

Initiera SDK

Med app-start (vanligtvis din onCreate-funktion) du måste skapa en instans av klass CMPConsentTool. Detta hämtar automatiskt nödvändig data från vår server och avgör om samtycksskärmen måste visas eller inte. I så fall kommer SDK automatiskt att visa samtyckskärmen vid denna tidpunkt, samla in data och tillhandahålla informationen till appen. Instansen kan sedan användas för att få samtyckeuppgifter från SDK för att kunna använda den i appen.

public class MainActivity extends AppCompatActivity {
    
    private CMPConsentTool consentTool; //create a CMPConsentTool

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      // ...
      
      // create an instance
      consentTool = CMPConsentTool.createInstance(this, 123456, "consentmanager.mgr.consensu.org", "MyFavouriteApp", "");
      
      // ...
    }
  
    // ...
}

För att skapa förekomsten av CMPConsentTool måste du konfigurera instansen. Du måste ange CMP-ID, serverdomän, ett appnamn och ett språk. CMP-ID och serverdomän finns i din ConsentManager konto under Meny> Hämta kod. Appnamnet kan användas för att distribuera olika appar i ConsentManager rapportering. För språket kan du antingen använda en tom sträng ("") för automatisk upptäckt eller en två-bokstavs språkkod ("EN", "DE", "FR" och så vidare).

Konfigurationsvärdena kan sättas in på olika sätt:

a) SDK-konfiguration via manifest

Lägg till följande rader i din AndroidManifest.xml under avsnitt <application ...> ... </application>:

<meta-data android:name="com.consentmanager.sdk.ID" android:value="1234567" />
<meta-data android:name="com.consentmanager.sdk.SERVER_DOMAIN" android:value="consentmanager.mgr.consensu.org" />
<meta-data android:name="com.consentmanager.sdk.APP_NAME" android:value="MyFavouriteApp" />
<meta-data android:name="com.consentmanager.sdk.LANGUAGE" android:value="EN" />

Om du använder detta sätt att konfigurera, skapa en instans av CMPConsentTool via:

consentTool = CMPConsentTool.createInstance(this);
b) SDK-konfiguration via CMPConfig

Lägg till följande rader i din kod:

CMPConfig conf = CMPConfig.createInstance(1234567, "consentmanager.mgr.consensu.org", "MyFavouriteApp", "EN");
consentTool = CMPConsentTool.createInstance(this, conf);
c) SDK-konfiguration via createInstance ()

Lägg till följande rad i din kod:

consentTool = CMPConsentTool.createInstance(this, 1234567, "consentmanager.mgr.consensu.org", "MyFavouriteApp", "EN");

Med SDK

För att kontrollera om en leverantör eller syfte har samtycke kan du använda de två metoderna:

if(consentTool.hasPurposeConsent(this,"52",false))
{
    if(consentTool.hasVendorConsent(this,"s26", false))
    {
        //do something with data
    }
}

Båda metoderna hasPurposeConsent och hasVendorConsent kräver två parametrar:

  • id - Sträng av leverantören eller syfte-ID. Observera att leverantörs-ID: n kan ha olika format ("123", "s123" och "c123"), vänligen dubbelkontrollera med Meny> Leverantörer och Meny> Syften i din ConsentManager konto.
  • isIABVendor / isIABPurpose - Om leverantören eller syftet är en leverantör / syfte som följer IAB TCF-standarden, måste du ställa in en sann, annars en falsk.

Kom ihåg: Alla leverantörer som inte tillhör IAB har ID som börjar med "s" eller "c" (t.ex. "s123"); leverantörer som tillhör IAB har ID som inte börjar med "s" eller "c".

Öppna åtkomstskärmen igen

För att låta användaren ändra valen kan du helt enkelt ringa openCmpConsentToolView():

consentTool.openCmpConsentToolView(this);

I vissa fall kan en inbyggd app innehålla webbvisningar för att visa vissa saker som reklam eller innehåll. För att överföra samtyckeinformation från SDK till webbvisningen, använd funktionen:

String consentData = CMPConsentTool.exportCMPData(this);

Detta kommer att exportera samtyckeinformationen och all ytterligare information som behövs av CMP. Du kan sedan skicka den här informationen till CMP som finns i din webbvy genom att lägga till den i URL: en som heter i webbvisningen:

myWebView.loadURL("https://mywebsite.com/....#cmpimport=" + consentData);

Delade preferenser

SDK kommer att ställa in de delade preferensvärdena för IAB TCF v1, IAB TCF v2, IAB USPrivacy och Google AC String. Dessa värden kan läsas med följande kod:

Context mContext = getApplicationContext();

SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);

SharedPreferences.OnSharedPreferenceChangeListener mListener;

mListener = new SharedPreferences.OnSharedPreferenceChangeListener() {

            public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
                        if (key.equals([Specific Consent Key])) {
                                   // Update Consent settings
                                   }
                        }
            };
mPreferences.registerOnSharedPreferenceChangeListener(mListener);

Följande nycklar definieras:

IAB TCF v1  
IABConsent_CMPPresent Boolean: Ställ in på true om en CMP som implementerar denna specifikation finns i applikationen. Ställ in idealiskt av Publisher så snart som möjligt men kan också ställas in av CMP alternativt.
IABConsent_SubjectToGDPR String 1 - (med förbehåll för GDPR), 0 - (inte underlagt GDPR), noll - ej fastställt (standard före initialisering). Justerar med IAB OpenRTB GDPR Advisory. Bestämde mig för att vara String, för att ha den uninitialiserade statusen.
IABConsent_ConsentString String: Samtyckesträng
IABConsent_ParsedPurposeConsents String (av "0" och "1") där karaktären i position N indikerar samtyckesstatusen till syfte ID N enligt definitionen i den globala leverantörslistan. Sträng av medgivande ges för att möjliggöra enkel kontroll. Första karaktär från vänster är syfte 1, ...
IABConsent_ParsedVendorConsents String (av "0" och "1") där tecknet i position N indikerar samtyckesstatus till leverantörs-ID N enligt definitionen i den globala leverantörslistan. Sträng av medgivande ges för att möjliggöra enkel kontroll. Första karaktär från vänster är Vendor 1, ... 
IAB TCF v2  
IABTCF_CmpSdkID Number: Det osignerade heltal-ID för CMP SDK
IABTCF_CmpSdkVersion Number: Det osignerade heltalversionsnumret för CMP SDK
IABTCF_PolicyVersion Number: Det osignerade heltalet som representerar versionen av TCF som dessa samtycke följer.
IABTCF_gdprApplies Number:

1 GDPR gäller i nuvarande sammanhang

0 - GDPR gör det inte tillämpas i nuvarande sammanhang

unset - obestämd (standard före initialisering)

IABTCF_PublisherCC String: Två bokstäver ISO 3166-1 alpha-2-kod - Standard: AA (okänd)
IABTCF_PurposeOneTreatment Number:

0 - ingen speciell behandling av ett syfte

1 - ett syfte som inte avslöjas

Återställ standard - 0

Säljare kan använda detta värde för att avgöra om samtycke för ett syfte krävs.

IABTCF_UseNonStandardStacks Number:

1 - CMP använde en icke-standard stack

0 - CMP använde inte en icke-standard stack

IABTCF_TCString String: Full kodad TC-sträng
IABTCF_VendorConsents Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - anger samtyckestatus för leverantörs-ID n + 1; false och true respektive. t.ex. '1' vid index 0 är samtycke true för leverantörs-ID 1
IABTCF_VendorLegitimateInterests Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - anger den legitima intressestatusen för leverantörs-ID n + 1; false och true respektive. t.ex. '1' vid index 0 är legitimt intresse etablerat true för leverantörs-ID 1
IABTCF_PurposeConsents Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - indikerar samtyckesstatus för ID-ändamål n + 1; false och true respektive. t.ex. '1' vid index 0 är samtycke true för ID för ändamål 1
IABTCF_PurposeLegitimateInterests Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - anger den legitima intressestatusen för ID n + 1; false och true respektive. t.ex. '1' vid index 0 är legitimt intresse etablerat true för ID för ändamål 1
IABTCF_SpecialFeaturesOptIns Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - indikerar opt-in-status för special-ID n + 1; false och true respektive. t.ex. '1' vid index 0 är opt-in true för specialfunktions-ID 1
IABTCF_PublisherRestrictions{ID} String ['0','1', or '2']: Värdet vid position n - var nindexering börjar kl 0 - anger utgivarens begränsningstyp (0-2) för leverantören n + 1; (se typer av utgivningsbegränsningar). t.ex. '2' vid index 0 är restriktionstyp 2 för leverantörs-ID 1. {ID} hänvisar till syftet ID.
IABTCF_PublisherConsent Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - indikerar statusens godkännandestatus för ID-syftet n + 1 för utgivaren när de motsvarar syftena med Global Vendor List; false och true respektive. t.ex. '1' vid index 0 är samtycke true för ID för ändamål 1
IABTCF_PublisherLegitimateInterests Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - anger syftet med legitim ränta för syfte-ID n + 1 för utgivaren när de motsvarar syftena med Global Vendor List; false och true respektive. t.ex. '1' vid index 0 är legitimt intresse etablerat true för ID för ändamål 1
IABTCF_PublisherCustomPurposesConsents Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - anger statusens godkännandestatus för utgivarens anpassade syfte-ID n + 1 för förläggaren; false och true respektive. t.ex. '1' vid index 0 är samtycke true för ID för anpassat ändamål 1
IABTCF_PublisherCustomPurposesLegitimateInterests Binary String: Den '0' or '1' vid position n - var nindexering börjar kl 0 - anger statusen för legitimt intresse för utgivaren för ID: s anpassade ändamål n + 1 för förläggaren; false och true respektive. t.ex. '1' vid index 0 är legitimt intresse etablerat true för ID för anpassat ändamål 1
IAB USPrivacy  
IABUSPrivacy_String String: Justerar med IAB OpenRTB CCPA-rådgivning. Strängen kodar alla val och information.
Google AC-sträng  
IABTCF_AddtlConsent

String: Stämmer överens med Googles tekniska specifikation för ytterligare godkännande. 

 

 

 

 

 

 

 

Tillbaka till toppen