简体   繁体   English

加载Admob智能横幅时游戏崩溃

[英]Game crashes when loading Admob smart banner

I just upgrade my game to Unity 2019.2.0f1 and Admob 3.18.2 我只是将游戏升级到Unity 2019.2.0f1和Admob 3.18.2

Now it crashes when I load smart banner (other adsize works fine). 现在,当我加载智能横幅时,它崩溃了(其他adsize可以正常工作)。

Here is the log: 这是日志:

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.google.android.gms.ads.AdSize.equals(java.lang.Object)' on a null object reference 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at com.google.android.gms.internal.ads.zzwu.zza(com.google.android.gms:play-services-ads-lite@@18.1.1:248) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at com.google.android.gms.internal.ads.zzwu.zza(com.google.android.gms:play-services-ads-lite@@18.1.1:87) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at 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: at 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: at com.google.unity.ads.Banner$5.run(Banner.java:278) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:789) 08-03 14:57:29. 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: at android.os.Handler.dispatchMessage(Handler.java:98) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6944) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 08-03 14:57:29.307 19834 19834 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) 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 (本机方法)08-03 14:57:29.307 19834 19834 E AndroidRuntime:at 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)

Here is the code: 这是代码:

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);

There's a thread on googleads-mobile-unity github about this issue: https://github.com/googleads/googleads-mobile-unity/issues/987 googleads-mobile-unity github上有一个关于此问题的线程: https : //github.com/googleads/googleads-mobile-unity/issues/987

One of contributors replied: I recommend using Unity version 2019.1.11f1 until we determine the cause of this. 一名贡献者回答:我建议使用Unity版本2019.1.11f1,直到我们确定造成这种情况的原因。 We believe it could be a Unity issue, as the Smart banner reference is null even when proguard is off. 我们认为这可能是Unity问题,因为即使proguard关闭,智能标语引用也为空。

luvjungle的解决方案,尤其是Juan Bentel的评论,对我来说就像是一个魅力。至:返回新的AndroidJavaObject(AdSizeClassName,adSize.Width,adSize.Height).GetStatic(“ SMART_BANNER”); – Juan Bentel 8月11日8:03“

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM