Expand my Community achievements bar.

Android Mobile App SDK Webview Crash

Avatar

Level 1

11/4/24

Description -

We are seeing a crash in the SDK when we are trying to open a web view but the Android System WebView is disabled. If this tool is disabled and Adobe SDK tries to show a screen that contains a WebView it will crash immediately with the message of "Failed to load WebView provider: No WebView installed".

Class where the issue was found: MessageContent.kt line 56 in com.adobe.marketing.mobile.services.ui.message.views.MessageContentKt$MessageContent$1.invoke

Adobe versions:
com.adobe.marketing.mobile:places:3.0.0
com.adobe.marketing.mobile:target:3.0.0
com.adobe.marketing.mobile:analytics:3.0.1
com.adobe.marketing.mobile:userprofile:3.0.0
com.adobe.marketing.mobile:core:3.1.0
com.adobe.marketing.mobile:assurance:3.0.1
com.adobe.marketing.mobile:edge:3.0.0
com.adobe.marketing.mobile:edgeidentity:3.0.0
com.adobe.marketing.mobile:edgeconsent:3.0.0
com.adobe.marketing.mobile:messaging:3.1.0
com.adobe.marketing.mobile:campaign:3.0.0
com.adobe.marketing.mobile:campaignclassic:3.1.1
com.adobe.marketing.mobile:lifecycle:3.0.1
com.adobe.marketing.mobile:signal:3.0.0
com.adobe.marketing.mobile:identity:3.0.1


Why is this feature important to you -
We are reducing our crash rate.

How would you like the feature to work -
This could be an empty screen or a generic error message from Adobe side. 

Current Behaviour -

Regarding the crash. I would like to mention that it is more technical rather than a flow for specific user or something similar.
Let me add the details.
- All the Android devices contains an hidden app called "Android System Webview". It can be found by going to Settings -> All apps -> Android System Webview.
- When the user tries to open a Webview for any app, the operative system delegate that action to this hidden app "Android System Webview"
- There are to cases that happens when the user open a Webview in relation to Android System Webview.
Case #1: If the Android System WebView is enabled ( enabled is by default in all devices ) it will open the webview as any common webview that we know.
Case #2: If the Android System Webview is disabled, it will crash when the user tries to open a Webview view, this hidden app is disabled.

What we would like to have a fix  is for Case #2, if from Adobe side we can get some checks when this hidden app is disabled. By doing that we can prevent the crash.