SFBX (AppConsent) CMP
Requirements
Add the needed maven repository to your list:
maven { // SFBX CMP url "https://artifactory.datalf.chat/artifactory/app-consent-v2-release" }Add the SFBX CMP dependency to your build.gradle:
implementation 'com.sfbx.appconsent:appconsent-ui-v3:<version>'Make sure, your SFBX CMP has been set up at its backend dashboard. Our support recommends certain vendors to be included in your server-side setup in order to yield optimal revenues.
Usage
Follow the instructions in the Managed Consent introduction section.
Create an instance of
CMPAppConsent(CMPAppConsentimplementsCMPinterface).Pass the created
CMPAppConsentinstance while creating the ManagedConsent using thepublic constructor ManagedConsent(cmp: CMP, context: Context, delegate: ManagedConsent.ManagedConsentDelegate).
private ManagedConsent managedConsent;
public void onActivityReady(Activity activity) {
if (managedConsent == null) { //we want to do it only once
CMP cmp = new CMPAppConsent(activity, "<APP_KEY>");
managedConsent = new ManagedConsent(cmp, this, this);
AATKitRuntimeConfiguration newConf = new AATKitRuntimeConfiguration();
newConf.setConsent(managedConsent);
AATKit.reconfigure(newConf);
managedConsent.showIfNeeded(activity);
OR
managedConsent.showIfNeededOrRejected(10, activity);
}
}
// ManagedConsentDelegate implementation
@Override
public void managedConsentNeedsUserInterface(@NonNull ManagedConsent managedConsent) {
// CMP is loaded and ready to be shown
// Show the CMP using active Activity
managedConsent.showIfNeeded(<ACTIVITY_INSTANCE>);
OR
managedConsent.showIfNeededOrRejected(10, <ACTIVITY_INSTANCE>);
}
@Override
public void managedConsentCMPFinished(@NonNull ManagedConsent.ManagedConsentState state) {
// The user finished his action with CMP with the state as the user chosen state
}
@Override
public void managedConsentCMPFailedToLoad(@NonNull ManagedConsent managedConsent, String error) {
// CMP failed to load with the error message.
// Consider reloading the CMP using the active Activity:
// managedConsent.reload(<ACTIVITY_INSTANCE>);
// if you know that the user is in GDPR region
}
@Override
public void managedConsentCMPFailedToShow(@NonNull ManagedConsent managedConsent, String error) {
// CMP failed to show with the error message
}private var managedConsent: ManagedConsent? = null
fun onActivityReady(activity: Activity) {
if (managedConsent == null) { //we want to do it only once
val cmp: CMP = CMPAppConsent(activity, "<APP_KEY>")
managedConsent = ManagedConsent(cmp, this, this)
val newConf = AATKitRuntimeConfiguration()
newConf.consent = managedConsent
AATKit.reconfigure(newConf)
managedConsent?.showIfNeeded(activity)
OR
managedConsent?.showIfNeededOrRejected(10, activity)
}
}
// ManagedConsentDelegate implementation
fun managedConsentNeedsUserInterface(managedConsent: ManagedConsent) {
// CMP is loaded and ready to be shown
// Show the CMP using active Activity
managedConsent.showIfNeeded(<ACTIVITY_INSTANCE>)
OR
managedConsent.showIfNeededOrRejected(10, <ACTIVITY_INSTANCE>)
}
fun managedConsentCMPFinished(state: ManagedConsentState) {
// The user finished his action with CMP with the state as the user chosen state
}
fun managedConsentCMPFailedToLoad(managedConsent: ManagedConsent, error: String?) {
// CMP failed to load with the error message.
// Consider reloading the CMP using the active Activity:
// managedConsent.reload(<ACTIVITY_INSTANCE>);
// if you know that the user is in GDPR region
}
fun managedConsentCMPFailedToShow(managedConsent: ManagedConsent, error: String?) {
// CMP failed to show with the error message
}Last updated