yandexmobile / yandex-ads-sdk-android

Other
78 stars 22 forks source link

android.net.ConnectivityManager$TooManyRequestsException #209

Closed slgitcode closed 11 months ago

slgitcode commented 1 year ago

В отчетах метрики в приложении попадается довольно частый креш. Воспроизвести не получается, как и отловить через try/catch. Версия 5.8.0, но попадалось и в более старых. Каких-то циклов запросов рекламы в приложении в логах не замечал. Можно ли сделать, чтобы через try/catch ловилось ?

android.net.ConnectivityManager$TooManyRequestsException at android.net.ConnectivityManager.convertServiceException(ConnectivityManager.java:3542) at android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:3730) at android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:4222) at android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:4189) at com.yandex.mobile.ads.impl.cv0.a(SourceFile:10) at com.yandex.mobile.ads.exo.offline.c.(SourceFile:39) at com.yandex.mobile.ads.exo.offline.c.(SourceFile:8) at com.yandex.mobile.ads.impl.sc1$a.a(SourceFile:1) at com.yandex.mobile.ads.impl.sc1.a(SourceFile:13) at com.yandex.mobile.ads.impl.sc1.b(SourceFile:3) at com.yandex.mobile.ads.impl.uj0.(SourceFile:4) at com.yandex.mobile.ads.impl.yj0.(SourceFile:16) at com.yandex.mobile.ads.impl.wi0.(SourceFile:3) at com.yandex.mobile.ads.impl.bj0.(SourceFile:6) at com.yandex.mobile.ads.impl.pg0.(SourceFile:4) at com.yandex.mobile.ads.impl.dj0.(SourceFile:7) at com.yandex.mobile.ads.impl.jj1.(SourceFile:10) at com.yandex.mobile.ads.impl.ij1.a(SourceFile:1) at com.yandex.mobile.ads.impl.o50.a(SourceFile:2) at com.yandex.mobile.ads.impl.rv.a(SourceFile:119) at com.yandex.mobile.ads.impl.o50.a(SourceFile:3) at com.yandex.mobile.ads.impl.o50.a(SourceFile:1) at com.yandex.mobile.ads.impl.id.a(SourceFile:2) at com.yandex.mobile.ads.impl.br$b.run(SourceFile:9) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7950) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:603) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

mobile-ads-github commented 1 year ago

Добрый день! Подскажите, этот стек трейс относится к версии 5.8.0?

slgitcode commented 1 year ago

Да, к 5.8.0. Но на предыдущих версиях выглядел так же. Вообще было бы хорошо, чтобы это исключение посылалось в метод onAdFailedToLoad, а не вызывало неуловимый креш.

mobile-ads-github commented 1 year ago

Спасибо за обращение, будем исправлять проблему. Дополнительно сообщим, в какой версии появится исправление.

mobile-ads-github commented 1 year ago

Спасибо за Ваше обращение, для разбора создана задача с номером PCODESUP-2236. Мы ознакомимся и вернемся с ответом в течение 2 дней, возможно запросим дополнительную информацию.

Thank you for your message, a task with the number PCODESUP-2236 has been created for analysis. We will get acquainted and return with the answer within 2 days, we may request additional information.

slgitcode commented 1 year ago

Очень жду исправления. Версия 5.10.0 креш по-прежнему возникает. Похоже возникает при загрузке нативной рекламы в методе loadAd. Иногда он ловится через try/catch иногда нет (возможно, когда не ловится, происходит в отдельном потоке внутри Yandex SDK). Код:

nativeAdLoader.loadAd(NativeAdRequestConfiguration .Builder(activity.getString(adUnitId)) .setShouldLoadImagesAutomatically(true) .setPreferredTheme(if (isDarkTheme) AdTheme.DARK else AdTheme.LIGHT) .build() )

Также в этом же методе заметил более редкий похожий креш, который то ловится, то нет

java.lang.IllegalArgumentException: Too many NetworkRequests filed at android.os.Parcel.readException(Parcel.java:1971) at android.os.Parcel.readException(Parcel.java:1913) at android.net.IConnectivityManager$Stub$Proxy.requestNetwork(IConnectivityManager.java:2879) at android.net.ConnectivityManager.sendRequestForNetwork(ConnectivityManager.java:3335) at android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:3725) at android.net.ConnectivityManager.registerDefaultNetworkCallback(ConnectivityManager.java:3703) at com.yandex.mobile.ads.impl.bx0.a(SourceFile:10) at com.yandex.mobile.ads.exo.offline.c.(SourceFile:39) at com.yandex.mobile.ads.exo.offline.c.(SourceFile:8) at com.yandex.mobile.ads.impl.te1$a.a(SourceFile:1) at com.yandex.mobile.ads.impl.te1.a(SourceFile:13) at com.yandex.mobile.ads.impl.te1.b(SourceFile:3) at com.yandex.mobile.ads.impl.ll0.(SourceFile:4) at com.yandex.mobile.ads.impl.ql0.(SourceFile:16) at com.yandex.mobile.ads.impl.nk0.(SourceFile:3) at com.yandex.mobile.ads.impl.sk0.(SourceFile:6) at com.yandex.mobile.ads.impl.gi0.(SourceFile:4) at com.yandex.mobile.ads.impl.uk0.(SourceFile:7) at com.yandex.mobile.ads.impl.ul1.(SourceFile:10) at com.yandex.mobile.ads.impl.tl1.a(SourceFile:1) at com.yandex.mobile.ads.impl.z60.a(SourceFile:1) at com.yandex.mobile.ads.impl.vw.a(SourceFile:7) at com.yandex.mobile.ads.impl.mz.a(SourceFile:2) at com.yandex.mobile.ads.impl.ke.a(SourceFile:2) at com.yandex.mobile.ads.impl.js$b.run(SourceFile:9) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6944) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

mobile-ads-github commented 1 year ago

Добрый день! Благодарим за обращение, исправление проблемы выйдет в ближайшем релизе.

mobile-ads-github commented 11 months ago

Здравствуйте, рекомендуем обновить SDK до версии 6.1.0. Сообщите пожалуйста, осталась ли проблема

slgitcode commented 11 months ago

С версии 6.0.0 креши больше не замечены. Большое спасибо за исправление.