teads / TeadsSDK-android

Teads SDK for Android - Premium branded "outstream" ads
13 stars 6 forks source link

teads SDK error on low OS version #214

Closed cojobs closed 1 year ago

cojobs commented 1 year ago

Currently using version 5.0.15, and the same issue is reproduced with the latest version 5.0.22

TEADS videos play well on devices with Android OS 10 or higher. On Android OS 7.1.1 through 9 devices, TEADS videos do not play and appear frozen On android os 7.0 and lower devices, no callbacks are called on the InReadAdListener passed to InReadAdPlacement#requestAd()

What causes the differences between OS versions?

github-lucas-bon commented 1 year ago

@cojobs It will be investigated asap, I keep you posted.

github-lucas-bon commented 1 year ago

@cojobs could you share details about what you saw here? You saw a black frame in the video container? Does the status bar was progressing anyway? Same problem persist even in fullscreen mode?

On Android OS 7.1.1 through 9 devices, TEADS videos do not play and appear frozen

Regarding no callbacks on lower devices (<= 7.0) we see that depending of the webview version from the OS, it could not support some features of an inner JS module from the Teads project. So as the webview on the Android system could not be up to date on devices with such versions, you can experience or not this problem. Anyway we are analysing a possible fix for it.

github-lucas-bon commented 1 year ago

@cojobs this is to share with you some output from my analysis over the problems you mentioned here.

On Android OS 7.1.1 through 9 devices, TEADS videos do not play and appear frozen This is an issue that happens when the mediafile from an ad is a mp4 video that is renderered by a native video player (exoplayer). I was able to reproduce on my side, but I saw it intermittently. We checked our impression rate over placement calls for each Android OS version and actually there is no relevant drop when we compare 7.1.1 with the latest versions. One of the reasons for that is not only that the issue is intermittent, but also due the fact that the greater part of the ads is not a mp4 mediafile.

On android os 7.0 and lower devices, no callbacks are called on the InReadAdListener passed to InReadAdPlacement#requestAd() As I mentioned before this is due the webview version that might not have compatibility with some functions of an internal javascript module inside our SDK. As you may know the WebView became a separate updatable component on Android starting with Android 5.0, which means that an up to date webview on versions >= 5.0 <= 7.0 should contain the necessary apis to do not face this problem. So if you are using an emulator or devices not able to be automatically updated is more likely to experience this issue. Anyway we measured the the amount of errors of this nature on our database and their represent less than 0.01%, so is not impactful.

Conclusion This problems were added to our roadmap and opportunely a fix is going to be released.

cojobs commented 1 year ago

@github-lucas-bon Thank you for your kind response. It has helped me a lot.