SFBX (AppConsent) CMP

Handle consent using SFBX AppConsent platform

Requirements

  • Integrate SFBX (AppConsent):

    • Cocoapods:

      • Add pod 'AATKit/AppConsentCMP' to your Podfile.

    • Swift Package Manager:

      • Follow the same SPM steps here.

      • Repeat the last step, and add AATKit-AppConsentCMP.

Make sure, your SFBX CMP has been set up at its backend dashboard. Please also refer to your SFBX AppConsent documentation.

Usage

Follow the instructions in the Managed Consent introduction section.

  • Create an instance of AATCMPAppConsent.

  • Pass the created AATCMPAp instance while initializing the AATManagedConsent using the public init?(cmp: AATCMPProtocol?, delegate: AATManagedConsentDelegate) method.

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    ...
    func configureAATKit() {
        let configuration = AATConfiguration()
        configuration.delegate = self
        let cmp = AATCMPAppConsent(appKey: "<YOUR_APP_KEY>", forceGDPR: <FORCE_GDPR>, fullscreen: <FULLSCREEN>)
        var consent = AATManagedConsent(cmp: cmp, delegate: self)
        configuration.consent = consent
        AATSDK.initAATKit(with: configuration)
        consent?.showIfNeeded(<ROOT VIEW CONTROLLER>)
        OR
        consent?.showIfNeededOrRejected(daysAgo: 1, viewController: <ROOT VIEW CONTROLLER>)
    }
    ...
}

// MARK: - AATManagedConsentDelegate
extension AppDelegate: AATManagedConsentDelegate {
    func managedConsentNeedsUserInterface(_ managedConsent: AATManagedConsent) {
        // CMP is loaded and ready to be shown
        // Show the CMP using the root view controller
        managedConsent.showIfNeeded(<ROOT VIEW CONTROLLER>)
    }

    func managedConsentCMPFinished(with state: AATManagedConsentState) {
      // The user finished his action with CMP with the state as the user chosen state
    }

    func managedConsentCMPFailedToLoad(_ managedConsent: AATManagedConsent, with error: String) {
        // CMP failed to load with the error message.
        // Consider reloading the CMP using the active view controller:
        // managedConsent.reload(<ROOT VIEW CONTROLLER>)
        // if you know that the user is in GDPR region
    }

    func managedConsentCMPFailedToShow(_ managedConsent: AATManagedConsent, with error: String) {
        // CMP failed to show with the error message
    }
}

Last updated