Skip to content

6 - Integrate with a Consent Management Platform (CMP)

X3M provides a mechanism for automating the integration with Google's User Messaging Platform. To enable this feature, set the flag isCMPAutomationEnabled to true:

XMediatorAds.StartWith(
    appKey: "<your-app-key>",
    initSettings: new InitSettings(
        consentInformation: new ConsentInformation(
            isCMPAutomationEnabled: true
        )
    )
);

This will prompt the user for consent only when required, and continue with the SDK initialization after the signals have been collected.

Display a Privacy Settings button inside your app

To give users the option to change their consent during the session, you may want to display a button in your app's settings when a form is available. X3M's SDK provides the following methods to achieve this:

if (XMediatorAds.CMPProvider.IsPrivacyFormAvailable())
{
    /// ... display the privacy settings form button
}

// [...]

XMediatorAds.CMPProvider.ShowPrivacyForm((error) => {
    if (error != null)
    {
        Debug.Log($"Error: {error}");
    }

    Debug.Log($"ShowPrivacyForm complete!");
});

Debug your integration

When using the CMP Automation feature, you can use the following methods to debug your integration:

// Configure a Debug Geography to trigger Privacy Form display
XMediatorAds.StartWith(
    appKey: "<your-app-key>",
    initSettings: new InitSettings(
        consentInformation: new ConsentInformation(
            isCMPAutomationEnabled: true,
            cmpDebugSettings: new CMPDebugSettings(
                debugGeography: CMPDebugGeography.EEA // Available options: Disabled, EEA and NotEEA
            )
        );
    )
);

// Clear the collected consent signals from the device 
XMediatorAds.CMPProvider.Reset();