We are also seeing this, and I can reproduce it 100% of the time.
I tried with all UMP versions since 2.1 up to 3.2
The device is Mi-4c with Android Version 5.1.1. (A really bad phone, on purpose)
Android System WebView is in Version 45.0.2454.95
One question: What's the minimun WebView Version needed to run UMP? ... or Recommended, because as a workaround I would like to known which min versión to avoid initializing UMP on devices with a really old web view, like this one, and instead run my old house-made CMP.
I now paste my implementation for the UMP call:
ConsentRequestParameters.Builder paramsBuilder = new ConsentRequestParameters.Builder();
if (UnderAgeOfConsent >= 0) paramsBuilder.setTagForUnderAgeOfConsent(UnderAgeOfConsent == 1);
//IF DEBUG OPTIONS ARE PASSED IN
if (deviceIds.length > 0 || DebugEEA > 0) {
ConsentDebugSettings.Builder debugSettingsBuilder = new ConsentDebugSettings.Builder(a);
if (DebugEEA > 0) {
switch (DebugEEA) {
case 1:
debugSettingsBuilder.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_EEA);
case 2:
debugSettingsBuilder.setDebugGeography(ConsentDebugSettings.DebugGeography.DEBUG_GEOGRAPHY_NOT_EEA);
}
}
if (deviceIds.length > 0) {
for (int i = 0; i < deviceIds.length; i++) {
debugSettingsBuilder.addTestDeviceHashedId(deviceIds[i]);
}
}
paramsBuilder.setConsentDebugSettings(debugSettingsBuilder.build());
}
//BUILDER
ConsentRequestParameters params = paramsBuilder.build();
consentInformation = UserMessagingPlatform.getConsentInformation(a.getBaseContext());
consentInformation.requestConsentInfoUpdate(a,params,(ConsentInformation.OnConsentInfoUpdateSuccessListener) () -> {
//A popup was needed?
Boolean wasPopUp = consentInformation.getConsentStatus() == ConsentInformation.ConsentStatus.REQUIRED;
UserMessagingPlatform.loadAndShowConsentFormIfRequired(
a,
(ConsentForm.OnConsentFormDismissedListener) loadAndShowError -> {
if (loadAndShowError != null) {
// Consent gathering failed.
callback.OnError(2,String.format("%s: %s",
loadAndShowError.getErrorCode(),
loadAndShowError.getMessage()));
}else
{
// Consent has been gathered, format data and return
callback.OnSuccess("Success",wasPopUp,new KrakenUMPData(a).toJSON());
}
}
);
},
(ConsentInformation.OnConsentInfoUpdateFailureListener) requestConsentError -> {
// Consent gathering failed.
callback.OnError(1, String.format("%s: %s",
requestConsentError.getErrorCode(),
requestConsentError.getMessage()));
});