Infos

[iOS] Partenaires d'attribution d'applications tierces (AAP)

Vue d'ensemble

Pour nos clients qui intègrent notre SDK CMP à l'un des SDK tiers suivants, nous avons rédigé ce document contenant des guides individuels expliquant comment les consentements recueillis via notre SDK CMP sont transmis à ces SDK. Notre CMP est entièrement compatible avec le TCF v3 et collecte les données de consentement DMA et les stocke dans UserDefaultsCertains des SDK ci-dessous peuvent récupérer ces données automatiquement, tandis que d'autres nécessitent du code. Veuillez consulter les cas d'utilisation individuels ci-dessous.  

Suivez strictement l'ordre des différents appels SDK. Notre SDK CMP doit recueillir le consentement des utilisateurs avant d'invoquer toute action dans les SDK tiers ci-dessous.

Sur certains SDK de fournisseurs comme AppsFlyer, AdJust et branch, vous devrez soit (a) invoquer notre updateThirdPartyConsent() (b) utiliser leurs propres méthodes et propriétés pour le faire manuellement. Si vous utilisez notre SDK CMP pour gérer automatiquement la transmission des données de consentement, voici un exemple d'implémentation : 

@main
class AppDelegate: UIResponder, UIApplicationDelegate, CMPManagerDelegate {
    
    var window: UIWindow?
    var cmpManager: CMPManager!
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Initialize your third-party SDK. Replace the code below by your respective third-party init code
        // according to the instructions along this document
        let yourClientToken = "YOUR-CLIENT-TOKEN"
        let yourThirdPartySdk = YourThirdPartySdk.shared()
        yourThirdPartySdk.initialize(withToken: yourClientToken)
        
        // Initializing our CMP SDK
        let urlConfig = UrlConfig(
            id: "YOUR_CODE_ID_HERE",
            domain: "delivery.consentmanager.net",
            language: "EN", 
            appName: "CMDemoAppSwift"
        )
        
        let webViewConfig = ConsentLayerUIConfig()
        
        cmpManager = CMPManager.shared
        cmpManager.delegate = self
        cmpManager.setUrlConfig(urlConfig)
        cmpManager.setWebViewConfig(webViewConfig)
        
        // Set the root view controller for consent UI presentation
        if let rootViewController = window?.rootViewController {
            cmpManager.setPresentingViewController(rootViewController)
        }
        
        // Here our CMP SDK will automatically display the consent layer if there is no consent
        // or the consent is expired. The didReceiveConsent() callback below will be triggered
        // once user consent is collected, which happens right after the users accepts/rejects
        // and all IAB TCF data is persisted to the UserDefaults area
        checkAndOpenConsent()
        
        return true
    }
    
    func checkAndOpenConsent() {
        cmpManager.checkAndOpen { error in
            if let error = error {
                print("Error checking consent: \(error.localizedDescription)")
            }
        }
    }
    
    // MARK: - CMPManagerDelegate Methods
    
    func didReceiveConsent(consent: String, jsonObject: [String: Any]) {
        print("CMP DemoApp: Consent Layer successfully received consent message.")
        // Here we'll automatically handle the passing of the consent from our
        // CMP SDK to the 3P SDK
        let results = cmpManager.updateThirdPartyConsent()
        print("Third-party consent update results: \(results)")
    }
}

Pour plus d'informations, consultez les instructions tierces respectives ci-dessous.

AppsFlyer

Ce SDK recherche la chaîne TCF stockée à l'intérieur du UserDefaults Zone de l'appareil, permettant le transfert automatique des consentements recueillis sur l'appareil via notre SDK CMP vers les événements AppsFlyer. Pour transmettre les données de consentement à AppsFlyer, veuillez suivre les instructions ci-dessous :

  • Initialiser le SDK AppsFlyer et activer la collecte de données TCF. Dans le code présenté dans la section Présentation de ce document, remplacez la partie d'initialisation tierce par :
	AppsFlyerLib.shared().waitForATTUserAuthorization(timeoutInterval: 60)
    AppsFlyerLib.shared().enableTCFDataCollection(true)
  1. Initialiser notre SDK CMP
  2. Utilisez notre SDK CMP pour décider automatiquement si vous avez besoin de la boîte de dialogue de consentement dans la session en cours.
  3. Si nécessaire, une boîte de dialogue de consentement s'affichera pour capturer les choix de consentement de l'utilisateur, qu'il s'agisse d'accepter tout, de rejeter tout ou de personnaliser les choix.
  4. Obtenez la confirmation du CMP que l'utilisateur a pris sa décision de consentement et que les données sont disponibles dans UserDefaults. Il y a différentes manières de faire cela avec notre SDK CMP. Dans l'exemple de la présentation, nous utilisons didReceiveConsent() rappel pour y parvenir. 
  5. La dernière étape peut être réalisée de deux manières : (a) vous pouvez suivre notre fragment de code à partir de l'aperçu ou (b) vous pouvez le remplacer par celui d'AppFlyer. start() méthode. Dans ce dernier cas, remplacez la ligne à l'intérieur de notre didReceiveMessage rappel par la ligne ci-dessous : 
	AppsFlyerLib.shared().start()

Ajuster

Ce SDK ne récupère pas les données de consentement stockées dans le UserDefaults Vous disposez donc de deux méthodes pour y parvenir : (a) automatiquement, entièrement gérée par notre SDK CMP ; et (b) manuellement, en utilisant les fonctionnalités des deux SDK. Veuillez suivre les instructions ci-dessous : 

  1. Initialiser le SDK AdJust 
  2. Initialiser notre SDK CMP
  3. Utilisez notre SDK CMP pour décider automatiquement si vous avez besoin de la boîte de dialogue de consentement dans la session en cours.
  4. Si nécessaire, une boîte de dialogue de consentement s'affichera pour capturer les choix de consentement de l'utilisateur, qu'il s'agisse d'accepter tout, de rejeter tout ou de personnaliser les choix.
  5. Obtenez la confirmation du CMP que l'utilisateur a pris sa décision de consentement et que les données sont disponibles dans UserDefaults. Il y a différentes manières de faire cela avec notre SDK CMP. Dans l'exemple ci-dessous, nous utilisons didReceiveConsent() rappel pour illustrer. 
  6. En dernier lieu, vous pouvez soit (a) invoquer le updateThirdPartyConsent() méthode de notre SDK CMP, qui transmettra automatiquement les données au SDK d'AdJust via l'introspection/réflexion ou les remplacera par le code ci-dessous : 
func didReceiveConsent(consent: String, jsonObject: [String: Any]) {
    print("CMP DemoApp: Consent Layer successfully received consent message.")
    // Retrieve Google Consent Mode data...
    let consentData = cmpManager.getGoogleConsentModeStatus()
    // ... and parse it to pass to Adjust SDK
    let adStorageConsent = consentData["ad_storage"] == "granted" ? "1" : "0"
    let adPersonalizationConsent = consentData["ad_personalization"] == "granted" ? "1" : "0"
    let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: true)
    adjustThirdPartySharing?.addGranularOption("google_dma", key: "eea", value: "1")
    adjustThirdPartySharing?.addGranularOption("google_dma", key: "ad_personalization", value: adPersonalizationConsent)
    adjustThirdPartySharing?.addGranularOption("google_dma", key: "ad_user_data", value: adStorageConsent)
    Adjust.trackThirdPartySharing(adjustThirdPartySharing)
}

Branche

Ce SDK ne récupère pas les données de consentement stockées dans le UserDefaults zone de l'appareil, vous avez donc deux manières de réaliser cet exploit : (a) automatique, qui sera entièrement géré par notre SDK CMP ; et (b) manuel, où vous utiliserez les fonctionnalités des deux SDK pour y parvenir. 

  1. Initialisez la branche à l'aide de votre jeton d'application
  2. Initialiser notre SDK CMP
  3. Utilisez notre SDK CMP pour décider automatiquement si vous avez besoin de la boîte de dialogue de consentement dans la session en cours.
  4. Si nécessaire, une boîte de dialogue de consentement s'affichera pour capturer les choix de consentement de l'utilisateur, qu'il s'agisse d'accepter tout, de rejeter tout ou de personnaliser les choix.
  5. Obtenez la confirmation du CMP que l'utilisateur a pris sa décision de consentement et que les données sont disponibles dans UserDefaults. Il y a différentes manières de faire cela avec notre SDK CMP. Dans l'exemple ci-dessous, nous utilisons didReceiveConsent() rappel pour illustrer. 
  6. En dernier lieu, vous pouvez soit (a) invoquer le updateThirdPartyConsent() méthode de notre SDK CMP, qui transmettra automatiquement les données au SDK d'AdJust via l'introspection/réflexion ou les remplacera par le code ci-dessous : 
      override fun didReceiveConsent(consent: String, jsonObject: Map<String, Any>) {
        Log.d("CMP DemoApp", "Consent Layer successfully received consent message.")
        // Retrieve Google Consent Mode data...
        val consentData = cmpManager.getGoogleConsentModeStatus();

		// ... and parse it to pass to AdJust SDK
		val adStorageConsent = consentSettings["ad_storage"] == "granted"
        val adPersonalizationConsent = consentSettings["ad_personalization"] == "granted" 

        // Example for an EEA resident
        Branch.getInstance().setDMAParamsForEEA(true,adPersonalizationConsent,adStorageConsent)

        // Example for an non-EEA resident
        Branch.getInstance().setDMAParamsForEEA(false,adPersonalizationConsent,adStorageConsent)
          
        // For further information, check:
        // https://help.branch.io/developers-hub/docs/ios-advanced-features#user-data
}

 

Kochava

Ce SDK recherche la chaîne TCF stockée à l'intérieur du UserDefaults Zone de l'appareil, permettant le transfert automatique des consentements recueillis sur l'appareil via notre SDK CMP vers les événements AppsFlyer. Pour transmettre les données de consentement à AppsFlyer, veuillez suivre les instructions ci-dessous :

  1. Initialiser le SDK Kochava 
  2. Initialiser notre SDK CMP
  3. Utilisez notre SDK CMP pour décider automatiquement si vous avez besoin de la boîte de dialogue de consentement dans la session en cours.
  4. Si nécessaire, une boîte de dialogue de consentement s'affichera pour capturer les choix de consentement de l'utilisateur, qu'il s'agisse d'accepter tout, de rejeter tout ou de personnaliser les choix.
  5. Obtenez la confirmation du CMP que l'utilisateur a pris sa décision de consentement et que les données sont disponibles dans UserDefaults. Il y a différentes manières de faire cela avec notre SDK CMP. Dans l'exemple de la présentation, nous utilisons didReceiveConsent() rappel pour y parvenir. 
  6. La dernière étape peut être réalisée de deux manières : (a) vous pouvez suivre notre morceau de code à partir de l'aperçu ou (b) vous pouvez le remplacer par celui de Kochava startWithAppGuid() méthode. Dans ce dernier cas, remplacez la ligne à l'intérieur de notre didReceiveMessage rappel par la ligne ci-dessous : 
	Tracker.getInstance().startWithAppGuid(applicationContext, "YOUR_ANDROID_APP_GUID")	

Singulier

Ce SDK recherche la chaîne TCF stockée à l'intérieur du UserDefaults Zone de l'appareil, permettant le transfert automatique des consentements recueillis sur l'appareil via notre SDK CMP vers les événements AppsFlyer. Pour transmettre les données de consentement à AppsFlyer, veuillez suivre les instructions ci-dessous :

  1. Initialiser le SDK Singular 
  2. Initialiser notre SDK CMP
  3. Utilisez notre SDK CMP pour décider automatiquement si vous avez besoin de la boîte de dialogue de consentement dans la session en cours.
  4. Si nécessaire, une boîte de dialogue de consentement s'affichera pour capturer les choix de consentement de l'utilisateur, qu'il s'agisse d'accepter tout, de rejeter tout ou de personnaliser les choix.
  5. Obtenez la confirmation du CMP que l'utilisateur a pris sa décision de consentement et que les données sont disponibles dans UserDefaults. Il y a différentes manières de faire cela avec notre SDK CMP. Dans l'exemple de la présentation, nous utilisons didReceiveConsent() rappel pour y parvenir. 
  6. La dernière étape peut être réalisée de deux manières : (a) vous pouvez suivre notre morceau de code à partir de l'aperçu ou (b) vous pouvez le remplacer par celui de Singular trackingOptIn() méthode. Dans ce dernier cas, remplacez la ligne à l'intérieur de notre didReceiveMessage rappel par la ligne ci-dessous : 
	Singular.trackingOptIn();

Pont aérien

Ce SDK recherche la chaîne TCF stockée à l'intérieur du UserDefaults Zone de l'appareil, permettant le transfert automatique des consentements recueillis sur l'appareil via notre SDK CMP vers les événements AppsFlyer. Pour transmettre les données de consentement à AppsFlyer, veuillez suivre les instructions ci-dessous :

  1. Initialiser le SDK AirBridge 
  2. Initialiser notre SDK CMP
  3. Utilisez notre SDK CMP pour décider automatiquement si vous avez besoin de la boîte de dialogue de consentement dans la session en cours.
  4. Si nécessaire, une boîte de dialogue de consentement s'affichera pour capturer les choix de consentement de l'utilisateur, qu'il s'agisse d'accepter tout, de rejeter tout ou de personnaliser les choix.
  5. Obtenez la confirmation du CMP que l'utilisateur a pris sa décision de consentement et que les données sont disponibles dans UserDefaults. Il y a différentes manières de faire cela avec notre SDK CMP. Dans l'exemple de la présentation, nous utilisons didReceiveConsent() rappel pour y parvenir. 
  6. La dernière étape peut être réalisée de deux manières : (a) vous pouvez suivre notre fragment de code à partir de l'aperçu ou (b) vous pouvez le remplacer par celui d'AirBridge. startTracking() méthode. Dans ce dernier cas, remplacez la ligne à l'intérieur de notre didReceiveMessage rappel par la ligne ci-dessous : 
	Airbridge.startTracking()

Tenjin

Ce SDK recherche la chaîne TCF stockée à l'intérieur du UserDefaults Zone de l'appareil, permettant le transfert automatique des consentements recueillis sur l'appareil via notre SDK CMP vers les événements AppsFlyer. Pour transmettre les données de consentement à AppsFlyer, veuillez suivre les instructions ci-dessous :

  1. Initialiser le SDK Tenjin 
  2. Initialiser notre SDK CMP
  3. Utilisez notre SDK CMP pour décider automatiquement si vous avez besoin de la boîte de dialogue de consentement dans la session en cours.
  4. Si nécessaire, une boîte de dialogue de consentement s'affichera pour capturer les choix de consentement de l'utilisateur, qu'il s'agisse d'accepter tout, de rejeter tout ou de personnaliser les choix.
  5. Obtenez la confirmation du CMP que l'utilisateur a pris sa décision de consentement et que les données sont disponibles dans UserDefaults. Il y a différentes manières de faire cela avec notre SDK CMP. Dans l'exemple de la présentation, nous utilisons didReceiveConsent() rappel pour y parvenir. 
  6. La dernière étape peut être réalisée de deux manières : (a) vous pouvez suivre notre morceau de code à partir de l'aperçu ou (b) vous pouvez le remplacer par Tenjin optIn()/optOut() méthodes.

 

Retour en haut de la page