Аудитория сети Facebook вызывает исключение NullPointerException

Я столкнулся с большим количеством сбоев в приложении, используя рекламу из аудитории Facebook. Вот отчет:

NullPointerException (@FBInterstitial: InitInterstitialAd: -1) {Thread: main Исключение:java.lang.NullPointerException в android.webkit.WebSettingsClassic.getDefaultUserAgentForLocale(WebSettingsClassic.java.Web.Wef.JD Класс веб-узла.:1503) на android.webkit.WebSettings.getDefaultUserAgent(WebSettings.java:1280) на com.facebook.ads.asa (неизвестный источник) на com.facebook.ads.asa (неизвестный источник) на com.facebook.ads.aj (Неизвестный источник) на com.facebook.ads.akb (Неизвестный источник) на com.facebook.ads.InterstitialAd.loadAd(Неизвестный источник)

Это происходит в mInterstitialAd.show(); где mInterstitialAd это экземпляр Facebook InterstitialAd, и он вызывает метод show () InterstitialAd учебный класс.

Я также проверил обнуляемость для mInterstitialAd как

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

Как вы видите сообщение об ошибке при попытке показать новое объявление. Кто-нибудь, у кого есть эта ошибка, знает, как ее решить?

Примечание: я использую AudienceNetwork.jar файл. А из журнала кажется, что ошибка в методе a класса s (см. код ниже), который находится в 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();

1 ответ

Выглядит очень похоже на эту проблему: https://groups.google.com/forum/

Но мы можем окружить вызов из нашего SDK с помощью метода try / catch, который имеет запасной вариант для захвата UA другим способом. Выложу исправление завтра. Пожалуйста, сообщите, если вы все еще видите проблему в 4.1.1.

Другие вопросы по тегам