2

我只是将我的游戏升级到 Unity 2019.2.0f1 和 Admob 3.18.2

现在,当我加载智能横幅时它会崩溃(其他 adsize 工作正常)。

这是日志:

java.lang.NullPointerException:尝试在空对象引用 08-03 14:57:29.307 19834 19834 E 上调用虚拟方法“boolean com.google.android.gms.ads.AdSize.equals(java.lang.Object)” AndroidRuntime:在 com.google.android.gms.internal.ads.z​​zwu.zza(com.google.android.gms:play-services-ads-lite@@18.1.1:248) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: 在 com.google.android.gms.internal.ads.z​​zwu.zza(com.google.android.gms:play-services-ads-lite@@18.1.1:87) 08-03 14: 57:29.307 19834 19834 E AndroidRuntime: 在 com.google.android.gms.ads.BaseAdView.loadAd(com.google.android.gms:play-services-ads-lite@@18.1.1:15) 08-03 14 :57:29.307 19834 19834 E AndroidRuntime: 在 com.google.android.gms.ads.AdView.loadAd(com.google.android.gms:play-services-ads-lite@@18.1.1:18) 08-03 14:57:29。307 19834 19834 E AndroidRuntime: 在 com.google.unity.ads.Banner$5.run(Banner.java:278) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: 在 android.os.Handler.handleCallback(Handler. java:789) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: 在 android.os.Handler.dispatchMessage(Handler.java:98) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: 在 android.os。 Looper.loop(Looper.java:164) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: 在 android.app.ActivityThread.main(ActivityThread.java:6944) 08-03 14:57:29.307 19834 19834 E AndroidRuntime : 在 java.lang.reflect.Method.invoke(Native Method) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 08 -03 14:57:29.307 19834 19834 E AndroidRuntime:在 com.android.internal.os。ZygoteInit.main(ZygoteInit.java:1374)

这是代码:

m_BannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Bottom);

m_BannerView.OnAdLoaded += HandleOnAdLoaded;
m_BannerView.OnAdFailedToLoad += HandleOnAdFailedToLoad;
m_BannerView.OnAdOpening += HandleOnAdOpened;
m_BannerView.OnAdClosed += HandleOnAdClosed;
m_BannerView.OnAdLeavingApplication += HandleOnAdLeavingApplication;

AdRequest request = new AdRequest.Builder().Build();
m_BannerView.LoadAd(request);
4

2 回答 2

1

googleads-mobile-unity github上有一个关于这个问题的帖子: https ://github.com/googleads/googleads-mobile-unity/issues/987

一位贡献者回答:我建议使用 Unity 版本 2019.1.11f1,直到我们确定原因为止。我们认为这可能是 Unity 问题,因为即使关闭 proguard,Smart 横幅引用也是空的。

于 2019-08-07T19:42:04.387 回答
1

luvjungle 的解决方案,更具体地说,Juan Bentel 的评论对我来说就像一个魅力“另一个人发布了一个有效的修复程序!Assets/GoogleMobileAds/Platforms/Android/Utils.cs 中的 GetAdSizeJavaObject 似乎被破坏了。必须更改第一个返回to: return new AndroidJavaObject(AdSizeClassName, adSize.Width, adSize.Height).GetStatic("SMART_BANNER"); – Juan Bentel 8 月 11 日 8:03"

于 2019-09-20T23:08:14.993 回答