Goedkeuring uitvoeren

Leer hoe u toestemming implementeert in een mobiele app.

Met de mobiele extensie Adobe Experience Platform Consent kunt u een verzameling voorkeuren voor toestemming vanuit uw mobiele app inschakelen wanneer u de Adobe Experience Platform Mobile SDK en de Edge Network-extensie gebruikt. Leer meer over de uitbreiding van de Toestemmingin de documentatie.

Vereisten

  • App met SDK's geïnstalleerd en geconfigureerd met succes gemaakt en uitgevoerd.

Leerdoelstellingen

In deze les zult u:

  • Vraag de gebruiker om toestemming.
  • Werk de extensie bij op basis van de gebruikersreactie.
  • Leer hoe u de huidige status van toestemming krijgt.

Goedkeuring aanvragen

Als u de zelfstudie vanaf het begin hebt gevolgd, zult u zich wellicht herinneren dat u de standaardtoestemming in de extensie Goedkeuring hebt ingesteld op Pending - Queue events that occur before the user provides consent preferences.

Om met het verzamelen van gegevens te beginnen, moet u toestemming van de gebruiker krijgen. In een echte app wilt u de beste praktijken voor uw regio raadplegen. In deze zelfstudie krijgt u toestemming van de gebruiker door er gewoon om te vragen met een waarschuwing:

iOS
  1. U wilt de gebruiker slechts eenmaal om toestemming vragen. U combineert de Mobiele toestemming van SDK met de vereiste toestemming voor het volgen gebruikend het kader van de Transparantie van de Toepassing van Apple het Traceren van het Kader van de Transparantie. In deze app gaat u ervan uit dat wanneer de gebruiker toestemming geeft om gebeurtenissen te volgen, deze toestemming geeft om gebeurtenissen te verzamelen.

  2. Navigeer naar Luma > Luma > Utils > MobileSDK in de Xcode-projectnavigator.

    Voeg deze code toe aan de functie updateConsent .

    code language-swift
    // Update consent
    let collectConsent = ["collect": ["val": value]]
    let currentConsents = ["consents": collectConsent]
    Consent.update(with: currentConsents)
    MobileCore.updateConfigurationWith(configDict: currentConsents)
    
  3. Navigeer naar Luma > Luma > Views > General > DisclaimerView in de projectnavigator van Xcode. De projectnavigator van Xode is de mening die na het installeren van of het opnieuw installeren van de toepassing en het beginnen van app voor de eerste keer wordt getoond. De gebruiker wordt ertoe aangezet om het volgen per Apple app het Volgen van het kader van de Transparantietoe te staan. Als de gebruiker autoriseert, werkt u ook de toestemming bij.

    Voeg de volgende code toe aan de ATTrackingManager.requestTrackingAuthorization { status in closure.

    code language-swift
    // Add consent based on authorization
    if status == .authorized {
       // Set consent to yes
       MobileSDK.shared.updateConsent(value: "y")
    }
    else {
       // Set consent to yes
       MobileSDK.shared.updateConsent(value: "n")
    }
    
Android
  1. U wilt de gebruiker slechts eenmaal om toestemming vragen. In deze app gaat u ervan uit dat wanneer de gebruiker toestemming geeft om gebeurtenissen te volgen, deze toestemming geeft om gebeurtenissen te verzamelen.

  2. Navigeer naar app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK in de Android Studio-navigator.

    Voeg deze code toe aan de functie updateConsent(value: String) .

    code language-kotlin
    // Update consent
    val collectConsent = mapOf("collect" to mapOf("val" to value))
    val currentConsents = mapOf("consents" to collectConsent)
    Consent.update(currentConsents)
    MobileCore.updateConfiguration(currentConsents)
    
  3. Navigeer naar app > kotlin+java > com.adobe.luma.tutorial.android > views > DisclaimerView.kt in de Android Studio-navigator.

    Voeg de volgende code toe aan de functie DisclaimerView(navController: NavController) eronder // Set content to yes en // Set content to no .

    code language-kotlin
    // Add consent based on authorization
    if (status) {
       showPersonalizationWarning = false
    
       // Set consent to yes
       MobileSDK.shared.updateTrackingStatus(TrackingStatus.AUTHORIZED)
       MobileSDK.shared.updateConsent("y")
    } else {
       Toast.makeText(
             context,
             "You will not receive offers and location tracking will be disabled.",
             Toast.LENGTH_LONG
       ).show()
       showPersonalizationWarning = true
    
       // Set consent to no
       MobileSDK.shared.updateTrackingStatus(TrackingStatus.DENIED)
       MobileSDK.shared.updateConsent("n")
    }
    

Huidige status van toestemming ophalen

De mobiele extensie voor toestemming onderdrukt automatisch het bijhouden van wijzigingen / breidt deze uit op basis van de huidige waarde voor toestemming. U kunt ook zelf toegang krijgen tot de huidige staat van toestemming:

iOS
  1. Navigeer naar Luma > Luma > Utils > MobileSDK in de projectnavigator van Xcode.

    Voeg de volgende code toe aan de functie getConsents :

    code language-swift
    // Get consents
    Consent.getConsents { consents, error in
       guard error == nil, let consents = consents else { return }
       guard let jsonData = try? JSONSerialization.data(withJSONObject: consents, options: .prettyPrinted) else { return }
       guard let jsonStr = String(data: jsonData, encoding: .utf8) else { return }
       Logger.aepMobileSDK.info("Consent getConsents: \(jsonStr)")
    }
    
  2. Navigeer naar Luma > Luma > Views > General > HomeView in de projectnavigator van Xcode.

    Voeg de volgende code toe aan de modifier .task :

    code language-swift
    // Ask status of consents
    MobileSDK.shared.getConsents()
    

In het bovenstaande voorbeeld registreert u gewoon de toestemmingsstatus aan de console in Xcode. In een echt scenario, zou u het kunnen gebruiken om te wijzigen welke menu's of opties aan de gebruiker worden getoond.

Android
  1. Navigeer naar app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK in de Android Studio-navigator.

    Voeg de volgende code toe aan de functie getConsents() :

    code language-kotlin
    // Get consents
    Consent.getConsents { callback ->
       if (callback != null) {
             val jsonStr = JSONObject(callback).toString(4)
             Log.i("MobileSDK", "Consent getConsents: $jsonStr")
       }
    }
    
  2. Navigeer naar app > kotlin+java > com.adobe.luma.tutorial.android > views > HomeView.kt in de Android Studio-navigator.

    Voeg de volgende code toe aan LaunchedEffect(unit) :

    code language-kotlin
    // Ask status of consents
    MobileSDK.shared.getConsents()
    

In het bovenstaande voorbeeld, registreert u eenvoudig de toestemmingsstatus aan de console in Android Studio. In een echt scenario, zou u het kunnen gebruiken om te wijzigen welke menu's of opties aan de gebruiker worden getoond.

Valideren met Assurance

  1. Verwijder de toepassing van het apparaat of de simulator om het bijhouden van gegevens en de toestemming opnieuw in te stellen en te initialiseren.

  2. Om uw simulator of apparaat met Assurance te verbinden, herzie de sectie van opstellingsinstructies.

  3. Wanneer u de toepassing verplaatst van het Home -scherm naar het Products -scherm en terug naar het Home -scherm, wordt een Get Consents Response -gebeurtenis weergegeven in de gebruikersinterface van Assurance.

    bevestigt toestemming {modal="regular"}

SUCCESS
U hebt uw toepassing nu ingeschakeld om de gebruiker bij de eerste start na de installatie (of herinstallatie) te vragen toestemming te geven met de Adobe Experience Platform Mobile SDK.
Bedankt dat je tijd hebt geïnvesteerd in het leren van Adobe Experience Platform Mobile SDK. Als u vragen hebt, algemene terugkoppelen willen delen, of suggesties over toekomstige inhoud hebben, hen op deze Communautaire besprekingspost van Experience Leaguedelen

Volgende: verzamel levenscyclusgegevens

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b