【问题标题】:Facebook Audience Network cause NullPointerExceptionFacebook Audience Network 导致 NullPointerException
【发布时间】:2015-05-05 13:12:25
【问题描述】:

我使用来自Facebook’s Audience Network 的广告在我的应用程序中遇到了很多崩溃。报告如下:

NullPointerException (@FBInterstitial:InitInterstitialAd:-1) {线程:主 异常:java.lang.NullPointerException 在 android.webkit.WebSettingsClassic.getDefaultUserAgentForLocale(WebSettingsClassic.java:453) 在 android.webkit.WebViewClassic$Factory.getDefaultUserAgent(WebViewClassic.java:1503) 在 android.webkit.WebSettings.getDefaultUserAgent(WebSettings.java:1280) 在 com.facebook.ads.a.s.a(未知来源) com.facebook.ads.a.s.a(未知来源)在 com.facebook.ads.a.j.(未知来源)在 com.facebook.ads.a.k.b(未知来源)在 com.facebook.ads.InterstitialAd.loadAd(来源不明)

它发生在mInterstitialAd.show();,其中mInterstitialAd 是facebook InterstitialAd 的实例,它调用InterstitialAd 类的show() 方法。

我还检查了mInterstitialAd 的可空性

  if (mInterstitialAd != null && mInterstitialAd.isAdLoaded()) {
      mInterstitialAd.show();
    }

正如您在尝试展示新广告时看到的错误提示。有这个错误的人知道如何解决吗?

注意:我正在使用AudienceNetwork.jar 文件。从日志看来,s 类的方法a 中的错误(见下面的代码)在com.facebook.ads.a 包中(在jar 文件中可用。)

  // IntelliJ API Decompiler stub source generated from a class file
  // Implementation of methods is not available

package com.facebook.ads.a;

public class s {
    private static java.lang.String a;

    public static void a(android.webkit.WebView webView, android.webkit.WebViewClient webViewClient, com.facebook.ads.a.r r) { /* compiled code */ }

    public static void a(android.webkit.WebView webView) { /* compiled code */ }

    public static java.lang.String a() { /* compiled code */ }

    public static java.lang.String a(android.content.Context context, com.facebook.ads.a.o o) { /* compiled code */ }

    private static java.lang.String a(android.content.Context context, java.lang.String s, java.lang.String s1) { /* compiled code */ }

    @android.annotation.TargetApi(17)
    private static java.lang.String a(android.content.Context context) { /* compiled code */ }
}

编辑 将其初始化为

mInterstitialAd = new InterstitialAd(mContext, "FaceBookPlacementID");
mInterstitialAd.setAdListener(this);
mInterstitialAd.loadAd();

【问题讨论】:

  • NullPointer 表示你初始化了吗?
  • 是的,mInterstitialAd.show(); 的空指针,我也解释了日志。
  • 您使用的是什么版本的受众网络/SDK?
  • @MingLi 我正在使用来自 SDK 版本 v4.1.0 的 jar 文件,并按照 developers.facebook.com/docs/audience-network/… 中给出的步骤进行操作
  • 你解决了吗?

标签: java android facebook nullpointerexception facebook-audience-network


【解决方案1】:

看起来与这个问题非常相似:https://groups.google.com/forum/#!topic/google-admob-ads-sdk/SX9yb3F_PNk

但是我们可以在来自 SDK 的调用周围加上一个 try/catch,它具有回退以以不同的方式获取 UA。明天会出一个补丁。如果您在 4.1.1 中仍然发现问题,请报告。

【讨论】:

  • 是的,没错。但是有什么解决办法,更新SDK请回复。
  • 不幸的是,我认为您无法在 SDK 之外直接解决此问题,但 4.1.1 现已推出。如果您仍然看到问题,请告诉我:developers.facebook.com/docs/android
  • 好的,我会用新的 sdk 版本更新我的应用程序,如果这个问题没有问题,我会接受。到那时 +1。
  • @JennyAbrahamson 他们是解决同一问题的任何方法吗?
猜你喜欢
  • 2016-01-29
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 2016-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多