AppLovin / AppLovin-MAX-Unity-Plugin

127 stars 35 forks source link

WebView Crash #122

Closed bartutiryakioglu closed 5 days ago

bartutiryakioglu commented 2 years ago

I am using only interstitial and rewarded ads and I came accross with a base.apk!libmonochrome.so (offset 0x664000) crash. When I researched about this, it seems like it is related to WebViews and disabling Android System Webview. I dont use these in my applications so I was wondering this could be issue about the SDK?

thomasmso commented 2 years ago

@bartutiryakioglu - Thanks for reporting, do you mean you were able to reproduce the crash by disabling Android System WebView?

bartutiryakioglu commented 2 years ago

No, this link https://stackoverflow.com/questions/66361472/app-crashed-with-base-apklibmonochrome-so says that disabling can help to resolve this problem. But I couldn't reproduce this error. We could see that error on some of our users. I am not sure what causes this? I am actually asking that does rewarded ads and interstitial ads uses web view that could cause this error?

enigmkk commented 2 years ago

same here !

fdspbsteam commented 2 years ago

libunity.so JobQueue::ProcessJobs(JobQueue::ThreadInfo, void) same here !

vhnunes commented 2 years ago

Same here

thomasmso commented 2 years ago

Hey yall - this is an ongoing investigation, and pretty hard to track without a reproducible case. If anyone is able to reproduce it please do enable and send over our plugin's verbose logs.

tracer8 commented 1 year ago

Still crash like hell on android...

marcinbak commented 3 months ago

I'm seeing this crash as well and did some digging.

It is caused by a WebView crashing WebView render process (which is shared between WebViews). Such crash can be caused, for example, by ad JavaScript using a non-supported browser API, or by a device getting low on memory.

If an app has access to WebView prior to loading content, you can set custom WebViewClient with overridden onRenderProcessGone callback returning true (docs). When returning true you have to make sure to remove the WebView from view hierarchy and call destroy on it. If you are able to do this to all currently created WebViews, then the application won't crash.

Having said that, this is usually not possible to achieve if content is loaded to WebViews that are outside of app's control, like with AppLovin adapters. Ideally, AppLovin and ad SDKs should override the callback in a custom WebViewClient for all WebViews.

cemtuver-applovin commented 3 months ago

Hi @marcinbak! Thank you for reporting this issue. I want to assure you that we implement the onRenderProcessGone function in all of our WebViewClient implementations, and we return true, as you also mentioned. Additionally, we are actively communicating with other ad networks to ensure they follow the same practice.

For further investigation, could you please share the full crash trace, along with all the ad network adapters/SDKs and their versions used in your application?

marcinbak commented 3 months ago

@cemtuver-applovin thank you for quick reply and that's good to hear. However there still must be something missing. Maybe it's about the timing when the WebViewClient is set vs when the ad content gets loaded? Without looking into code it's just a speculation. Most of the complaints I've seen while investigating are related to either Unity ads or Google Ads if that's of any help.

When it comes to networks/adapters and SDK versions:

I can see some use older versions and I'll make sure these get upgraded.

cemtuver-applovin commented 3 months ago

@marcinbak thank you for the information! We are not aware of any known WebView-related issues with those adapters and SDKs. However, as you mentioned, some of the versions seem to be outdated. I would first suggest updating your adapters, as the network SDKs may have released improvements that could resolve the crashes you're experiencing.

Also, could you please share the package name of the application experiencing these crashes? I might be able to analyze your app to check for any problematic WebViewClient implementations.

github-actions[bot] commented 1 week ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 5 days ago

This issue was closed because it has been inactive for 5 days since being marked as stale.