AppLovin / AppLovin-MAX-Cordova

MIT License
10 stars 12 forks source link

CMP/UMP integration on ios appflow build does not work #49

Open yohan-pannet-bbo opened 4 months ago

yohan-pannet-bbo commented 4 months ago

MAX Plugin Version

1.1.3

Cordova Version

12

Device/Platform Info

iOS

Current Behavior

We've integrated google CMP for ios as described here: https://dash.applovin.com/documentation/mediation/ios/getting-started/terms-and-privacy-policy-flow#enabling-google-ump

When build locally for simulators (cordova run ios), the CMP is displayed. When testing a build from Appflow, it is not displayed

Expected Behavior

Appflow builds should display CMP too

How to Reproduce

Hard to describe the steps. I'll describe bellow our implementation

Additional Info

To enable the UMP we've done the following:

AppLovin-Settings.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ConsentFlowInfo</key>
    <dict>
        <key>ConsentFlowEnabled</key>
        <true/>
        <key>ConsentFlowPrivacyPolicy</key>
        <string>https://xxx/privacy</string>
        <key>ConsentFlowTermsOfService</key>
        <string>https://xxx/terms</string>
        <key>ConsentFlowDebugUserGeography</key>
        <string>gdpr</string>

    </dict>
</dict>
</plist>

NSUserTrackingUsageDescription in our config.xml `

This uses device info for more personalized ads and content

`

Has anyone tried to integrate UMP for ios for a cloud build (eg: appflow)? Note: we've done it for android too with no issue.

thomasmso commented 4 months ago

@yohan-pannet-bbo - We've not seen integrations via App Flow, but what works on a device should theoretically work in other builds. If you enable and send over our SDKs verbose logs, someone on the team might be able to assist better as to why CMP is not showing.

For reference, this is the flow logic for when our SDK would show Google's CMP flow: image

yohan-pannet-bbo commented 4 months ago

Thanks for the reply. We've analyzed the log. On our local 'working' build we have


[AppLovinSdk] DEBUG [ALConsentFlowSettings] Creating with initial values: isEnabled=1,
    privacyPolicyURL=https://xxx/privacy,
    termsOfServiceURL=https://xxx/terms

On our appflow 'non working' build we have

[AppLovinSdk] DEBUG [ALConsentFlowSettings] Creating with initial values: isEnabled=0,

We are quite sure this is the AppLovin-Settings.plist which is not added in the project in the end. Trying to fix that on our side, will keep you informed

yohan-pannet-bbo commented 4 months ago

We manage to add the plist file to the project (was due to plugins hook conflict). But the CMP modals are still not displayed.

We made a build via xcode and uploaded it to appstore and it works. We haven't figured out yet what's the difference. One thing we've noticed comparing logs (xcode build vs appflow build) when 'forcing' the 'gdpr' (ConsentFlowDebugUserGeography = gdpr). We see the following in both cases

[AppLovinSdk] DEBUG [ALConsentFlowSettings] Creating with initial values: isEnabled=1,
    privacyPolicyURL=https://xxx/privacy,
    termsOfServiceURL=https://xxx/terms

On the working version we see

[AppLovinSdk] DEBUG [ALSdkSettings] Setting Debug User Geography: 1

But not on the appflow file...