Aller au contenu principal

Intégration


Comment utiliser AppConsent

1. Obtenez votre AppKey

La première étape est de créer votre source / notice et de récupérer YOUR_APP_KEY généré depuis : https://app.appconsent.io

GetAppkey

2. Créez l'instance de AppConsent & l'utiliser

La second étape conciste à initialiser le SDK et d'attendre que celui-ci soit démarré avant de pouvoir l'utiliser.

tip

Nous recommendons d'implémenter cette logique dans la class application, splashscreen, ou votre activity "android.intent.category.LAUNCHER".

L'idée est d'être capable d'afficher la CMP aussi-tôt que possible, ce qui vous permettra de charger votre fournisseur publicitaire.

note

Même si votre fournisseur de publicité s'inscrit aux événements de mise à jour du consentement de l'utilisateur et que cela est transparent pour vous, certains fournisseurs peuvent ne pas fonctionner correctement avec cette solution. C'est pourquoi nous vous recommandons d'initialiser le SDK de votre fournisseur uniquement lorsque le consentement a été donné, afin de vous assurer que vos publicités soient conformes au consentement de l'utilisateur. Pensez également à le mettre à jour à chaque fois que l'utilisateur met à jour son consentement, grâce aux callbacks

info

Dans l'exemple ci-dessous, le code se concentre sur l'utilisation du SDK exclusivement.
Les imports et éléments visuels potentiels dans ces exemples n'y sont donc pas présents, car ils sont fortement liés à la structure et au projet Android qui sont indépendants du SDK.

import com.sfbx.appconsentv3.AppConsent
import com.sfbx.appconsentv3.ui.AppConsentSDK
import com.sfbx.appconsentv3.ui.listener.OnPresentNoticeListener

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

AppConsentSDK.initialize(
appKey = "YOUR_APP_KEY"
) { appConsentInitialized ->

// Définir le callback pour savoir quand votre utilisateur à donné son consentement
registerCallback(appConsentInitialized)

// Une fois chargé, essaye d'afficher la CMP si besoin
if(false == appConsentInitialized.tryToDisplayNotice(false)) {
appConsentInitialized.setOnPresentNoticeListener(null)
}
}
}

private fun registerCallback(appConsent: AppConsent){
appConsent.setOnPresentNoticeListener(object : OnPresentNoticeListener {

override fun presentConsentError(error: Throwable?) {
// supprime le callback
appConsent.setOnPresentNoticeListener(null)

// Chargé votre fournisseur de publicité
...
}

override fun presentConsentGiven() {
// supprime le callback
appConsent.setOnPresentNoticeListener(null)

// Chargé votre fournisseur de publicité
...
}
})
}
}

3. Proposer à vos utilisateurs de consulter leur consentement

Il est également conseillé de fournir à vos utilisateurs une entrée leur permettant de voir et de modifier leur consentement, comme un écran de configuration.

info

Dans l'exemple ci-dessous, le code se concentre sur l'utilisation du SDK exclusivement.
Les imports et éléments visuels potentiels dans ces exemples n'y sont donc pas présents, car ils sont fortement liés à la structure et au projet Android qui sont indépendants du SDK.

import com.sfbx.appconsentv3.ui.AppConsentSDK
import com.sfbx.appconsentv3.ui.listener.OnPresentNoticeListener

class SecondActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

binding.buttonDisplayPrivacyPolicy.setOnClickListener {
/*
S'enregistre au callback de la CMP pour savoir quand l'utilisateur
aura modifié son consentement, ou bien si une erreur survînt
*/
AppConsentSDK.getInstance()
?.setOnPresentNoticeListener(object : OnPresentNoticeListener {
override fun presentConsentError(error: Throwable?) {
// Supprime le listener
removeCMPCallback()
}

override fun presentConsentGiven() {
// Supprime le listener
removeCMPCallback()

// Mettre à jour votre fournisseur publicitaire
}
})

// Affiche la CMP pour permettre à vos utilisateurs de consulter leur consentement
val isCmpDisplayed =
AppConsentSDK.getInstance()?.tryToDisplayNotice(force = true) ?: false
if (false == isCmpDisplayed) {
/*
La CMP n'est pas initialisée (getInstance() return null), assurez vous que celle-ci
est bien initialisé (voir 2. Créez l'instance de AppConsent).
Vérifiez également que votre activity n'a pas été démarré dans un nouveau process
(nouveau process, nouvelle stack mémoire, singleton non initialisé).
*/
removeCMPCallback()
}
}
}

private fun removeCMPCallback() {
/*
Non obligatoire, mais cela permet d'éviter de garder une référence locale au callback.
Bien entendu, tout dépend de l'implémentation faite sur votre projet.
Exemple avec une SOP Activity, un singleton surveillé parc un flow, etc.
*/
AppConsentSDK.getInstance()?.setOnPresentNoticeListener(null)
}
}
note

Nous vous suggérons de lire la page Aller plus loin et de lire la documentation technique.