首页 > 解决方案 > 很多关于 Admob 广告的 Android Vitals 崩溃

问题描述

将 Unity 升级到 2018.3.0f2 版本后,与广告相关的错误数量急剧增加。将 Android 的构建系统更改为 Gradle(以前的内部版本现在已弃用)。异常示例:

java.lang.Error: FATAL EXCEPTION [Thread-326575]
Unity version     : 2018.3.0f2
Device model      : Xiaomi Redmi Note 5
Device fingerprint: xiaomi/whyred/whyred:8.1.0/OPM1.171019.011/V10.0.6.0.OEIMIFH:user/release-keys
Caused by
  at com.unity3d.player.ReflectionHelper.nativeProxyInvoke (Native Method)
  at com.unity3d.player.ReflectionHelper.a (Unknown Source)
  at com.unity3d.player.ReflectionHelper$1.invoke (Unknown Source:6)
  at java.lang.reflect.Proxy.invoke (Proxy.java:913)
  at $Proxy9.onAdFailedToLoad (Unknown Source)
  at com.google.unity.ads.RewardBasedVideo$1$1$2.run (RewardBasedVideo.java:89)
  at java.lang.Thread.run (Thread.java:764)

代理号可能不一样:$Proxy9,$Proxy10,$Proxy12,$Proxy13 也有类似的错误,不过是针对购买商品的。

java.lang.Error: FATAL EXCEPTION [pool-2-thread-1]
Unity version     : 2018.3.0f2
Device model      : BQru BQru_BQru-5058
Device fingerprint: BQru/BQru-5058/BQru-5058:7.0/NRD90M/1494381105:user/release-keys
Caused by
  at com.unity3d.player.ReflectionHelper.nativeProxyInvoke (Native Method)
  at com.unity3d.player.ReflectionHelper.a (Unknown Source)
  at com.unity3d.player.ReflectionHelper$1.invoke (Unknown Source)
  at java.lang.reflect.Proxy.invoke (Proxy.java:813)
  at $Proxy7.OnProductsRetrieved (Unknown Source)
  at com.unity.purchasing.common.UnityPurchasing.OnProductsRetrieved (UnityPurchasing.java:24)
  at com.unity.purchasing.googleplay.GooglePlayPurchasing.NotifyUnityOfProducts (GooglePlayPurchasing.java:572)
  at com.unity.purchasing.googleplay.GooglePlayPurchasing.access$1000 (GooglePlayPurchasing.java:43)
  at com.unity.purchasing.googleplay.GooglePlayPurchasing$5.onQueryInventoryFinished (GooglePlayPurchasing.java:531)
  at com.unity.purchasing.googleplay.IabHelper$4.workWith (IabHelper.java:862)
  at com.unity.purchasing.googleplay.BillingServiceManager$2.run (BillingServiceManager.java:146)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
  at java.lang.Thread.run (Thread.java:761)

我使用文档中的代码,在过渡到新版本的 Unity 之前,一切正常,没有错误。

我尝试为 Unity 安装不同版本的 AdMob 插件、不同的解析器、在 Unity 中添加和删除服务。

现在在我的 Unity 2018.3.0f2 中:- API 最低级别:16 - API 目标级别:安装的最高级别(级别 28,为 27)- 脚本运行时版本:.NET 4.x(原为 3.5 - 现在已弃用)- Google 移动广告 Unity插件 v3.15.1

通过 SDK Manager 安装在系统中: - Android SDK Platform-Tools 28.0.1 - Android SDK Tools 26.1.1 - Google Play Services 版本 49

不幸的是,我不能在我的本地设备上重复这样的崩溃,它发生在大约 2% 的用户中,在 Android 5.0+ 上。

更新:我确信这个错误与插件的 AdMob 版本和“其他”有关。目前,我能够将错误数量减少 10-30 倍。我重新安装了 Windows 和所有软件,最后我离开了 AdMob 插件版本 3.14 和上面描述的其余软件。现在我有一个新的致命异常(示例如下),但对于 1000 名玩家发生 1-2 次,这是可以容忍的。

java.lang.Error: FATAL EXCEPTION [main]
Unity version     : 2018.3.0f2
Device model      : samsung SM-G570F
Device fingerprint: samsung/on5xeltejv/on5xelte:8.0.0/R16NW/G570FXXU1CRK1:user/release-keys
Caused by
  at com.unity3d.player.ReflectionHelper.nativeProxyInvoke (Native Method)
  at com.unity3d.player.ReflectionHelper.a (Unknown Source)
  at com.unity3d.player.ReflectionHelper$1.invoke (Unknown Source:6)
  at java.lang.reflect.Proxy.invoke (Proxy.java:913)
  at $Proxy10.onAdFailedToLoad (Unknown Source)
  at com.google.unity.ads.Interstitial$1$1.onAdFailedToLoad (Interstitial.java:75)
  at com.google.android.gms.internal.ads.zzjf.onAdFailedToLoad (Unknown Source:2)
  at com.google.android.gms.internal.ads.zzki.dispatchTransaction (Unknown Source:29)
  at com.google.android.gms.internal.ads.zzek.onTransact (Unknown Source:22)
  at android.os.Binder.transact (Binder.java:612)
  at oe.b (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):15)
  at com.google.android.gms.ads.internal.client.ac.a (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):6)
  at com.google.android.gms.ads.internal.a.a (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):335)
  at com.google.android.gms.ads.internal.a.a (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):331)
  at com.google.android.gms.ads.internal.a.b (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):140)
  at com.google.android.gms.ads.internal.c.b (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):44)
  at com.google.android.gms.ads.internal.j.run (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):2)
  at android.os.Handler.handleCallback (Handler.java:789)
  at android.os.Handler.dispatchMessage (Handler.java:98)
  at ze.a (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):5)
  at com.google.android.gms.ads.internal.util.e.a (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):5)
  at ze.dispatchMessage (com.google.android.gms.dynamite_adsdynamite@14799046@14.7.99 (040306-223214910):4)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6942)
  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)

标签: c#androidunity3dadmob

解决方案


推荐阅读