[iOS] 2. Travailler avec ATT (App Tracking Transparency / iOS)
Depuis iOS 14, Apple a introduit le cadre Apple Tracking Transparency, qui exige que chaque application doit exposer les données de suivi qu'elle utilise. Le cadre ATT en lui-même n'est pas conforme à l'IAB TCF/GDPR, etc. et n'est qu'une version spécifique à Apple pour demander le consentement de l'utilisateur pour le suivi des données. Pour permettre à l'utilisateur une meilleure expérience, nous soutenons une solution pour synchroniser les consentements entre le SDK CMP et l'interface ATT. Le SDK propose deux solutions différentes pour cela.
Demander ATTracking avec le SDK Cmp
En fonction de votre flux de travail, vous pouvez soit appeler l'écran ATT via votre logique de code, soit demander au consentmanager iOS SDK fait l'appel pour vous.
cmpManager?.requestATTPermission(completion: { status in
switch status {
case .authorized:
// Tracking authorization dialog was shown and accepted
// TODO custom code here:
case .denied:
// Tracking authorization dialog was shown and permission is denied
// TODO custom code here:
case .notDetermined:
// Tracking authorization dialog has not been shown
// TODO custom code here:
case .restricted:
// Tracking authorization dialog has not been shown app is restricted for tracking
// TODO custom code here:
}
})
Exemple d'appel du SDK CMP après ATT :
@available(iOS 14, *)
@objc func requestPermission() {
cmpManager?.requestATTPermission(completion: { status in
switch status {
case .authorized:
print("APP:Authorized %@",status)
// Now that we are authorized we can get the IDFA
print(ASIdentifierManager.shared().advertisingIdentifier)
case .denied:
// Tracking authorization dialog was
// shown and permission is denied
print("APP:Denied %@",status.rawValue)
case .notDetermined:
// Tracking authorization dialog has not been shown
print("APP:Not Determined %@",status.rawValue)
case .restricted:
print("APP:Restricted %@",status.rawValue)
@unknown default:
print("APP:Unknown %@",status.rawValue)
}
self.cmpManager?.openView()
});
}
Cela affichera la couche ATT du système d'exploitation.
Nous recommandons cette intégration. Vous êtes toujours en mesure d'obtenir le contrôle total de l'interface ATT et de mettre en œuvre votre processus personnalisé en fonction de l'utilisateur.
Indicateur indiquant si la demande de transparence du suivi des applications est traitée automatiquement lors de la fonction d'initialisation
cmpConfig.isAutomaticATTRequest = true
Assurez-vous d'activer cette fonction avant l'instanciation du SDK CMP.
Si vous n'utilisez pas ATT, vous devrez peut-être prendre une note pour l'examen Apple automatique. Puisque l’Apple ATT est intégré en option mais non utilisé. Apple pourrait ne pas approuver l'application automatiquement. Pour cela, nous avons une version sans engagement : veuillez vérifier la version la plus récente ici : https://github.com/iubenda/cm-sdk-xcframework
Personnalisation de la couche de consentement pour ATT
Dans le cas où l'utilisateur rejette la demande ATT, le CMP peut afficher un message, une liste de fournisseurs ou une liste d'objectifs différents. Nous vous recommandons d'utiliser un message personnalisé pour ATT et qui n'inclut pas de formulation laissant croire à l'utilisateur que le suivi ou la publicité (ou tout autre traitement de données pour lequel ATT est pertinent) est utilisé.
L'objectif devrait être d'éviter toute confusion dans les cas où l'utilisateur a déjà rejeté le suivi via ATT. Dans ce cas, l'utilisateur ne doit pas être confronté à un message ou à un choix susceptible de (ré-)activer le suivi.
Personnalisation du texte pour le rejet ATT
Afin de personnaliser les textes lorsque l'utilisateur a rejeté ATT, veuillez vous rendre sur Menu > Designs > Textes > (choisissez une langue) et remplissez le champ "Texte (ATT)". Si le champ n'est pas vide, le CMP affichera ce texte au lieu du texte d'origine au cas où l'utilisateur aurait rejeté ATT.
Désactivation ou suppression d'objectifs et de fournisseurs
En plus des modifications de texte, nous vous recommandons également de désactiver ou de masquer les objectifs et les fournisseurs qui nécessitent le consentement ATT. Pour ce faire, rendez-vous sur Menu > CMP > Modifier > Autres paramètres > API de confidentialité et définissez le paramètre "Support ATT" sur "Désactiver les objectifs sélectionnés" ou "Masquer les objectifs sélectionnés". Une fois modifié, veuillez choisir les finalités qui doivent être masquées/désactivées.
En plus des objectifs, vous pouvez également masquer/désactiver les fournisseurs concernés via le paramètre "Logique du fournisseur".
Nous vous recommandons de faire les deux : Masquer les fournisseurs et les objectifs si ATT a été rejeté.
Utilisation d'une conception différente pour ATT
En plus ou en combinaison avec ce qui précède, les développeurs d'applications peuvent également configurer le système pour qu'il utilise une conception complètement différente au cas où ATT serait accepté ou rejeté. Cela permet une plus grande flexibilité dans la présentation et la formulation. Pour activer le ciblage ATT, rendez-vous sur Menu > Designs > Modifier > Ciblage et activez le ciblage ATT :