当前位置: 首页 > 知识库问答 >
问题:

Admob显示带有测试adUnitId的测试广告,但对于真正的adUnitId应用程序崩溃

厍华清
2023-03-14
E/AndroidRuntime: FATAL EXCEPTION: Thread-13
Process: biz.coolpage.aashish.app, PID: 13682
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion;
    at jp.b(:com.google.android.gms.dynamite_adsdynamite@14799084@14.7.99 (100700-223214910):3)
    at jo.a(:com.google.android.gms.dynamite_adsdynamite@14799084@14.7.99 (100700-223214910):3)
    at jq.a(:com.google.android.gms.dynamite_adsdynamite@14799084@14.7.99 (100700-223214910):19)
    at com.google.android.gms.ads.internal.util.aq.a(:com.google.android.gms.dynamite_adsdynamite@14799084@14.7.99 (100700-223214910):15)
    at iu.a(:com.google.android.gms.dynamite_adsdynamite@14799084@14.7.99 (100700-223214910):19)
    at iu.run(:com.google.android.gms.dynamite_adsdynamite@14799084@14.7.99 (100700-223214910):8)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.ProtocolVersion" on path: DexPathList[[zip file "/data/user_de/0/com.google.android.gms/app_chimera/m/0000000f/AdsDynamite.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/0000000f/AdsDynamite.apk!/lib/x86, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at ad.loadClass(:com.google.android.gms.dynamite_dynamiteloader@14799084@14.7.99 (100700-223214910):4)

xml文件中的LinearLayout内部:

    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center_horizontal"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>

OnCreate方法内部:

    MobileAds.initialize(this, getString(R.string.AdMob_app_id));
    mAdView = findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);

共有1个答案

范飞翰
2023-03-14

在浪费了这么多小时之后,我终于找到了这次事故的根本原因。

当你在AdMob帐户中添加一个应用程序时,默认情况下,基于位置的广告就会打开。因此,如果您的应用程序没有位置权限,那么应用程序崩溃。

解决方案:--

您可以根据AdMob帐户中的位置关闭广告

您可以要求您的用户提供对其位置的访问。

 类似资料:
  • 它在模拟器和真实设备上显示测试广告。但是当我把广告ID改成我的真实ID时,它就不起作用了。。我的应用程序也在AppStore中,但我没有推送更新。我只在Xcode中添加了AdMob,然后连接了真正的设备并在其上进行了测试。我必须将AdMob的最新更新发布到App Store才能看到真正的广告吗?我该怎么办?在推送更新之前,我想测试一下我的真实广告。。 (已填写付款明细)

  • 我已经在我的手机上测试了广告功能。只显示测试广告。当我用我从AdMob得到的单位id替换时,真正的广告就不显示了。 问题出在哪里? 下面是我的代码: 对于我使用的xml 用于加载我使用的ad 在manifeast我有 ...。 但我的广告不加载在android设备上。测试广告运作良好。所有这些操作我都用了一个真实的装置。有什么需要帮忙的吗?

  • 我已经与Admob广告斗争了将近一周,我在互联网上搜索了所有可能的解决方案,但都没有奏效。我的Android应用程序不显示测试广告也不显示实时广告。这是日志: 我的测试间隙负载没有问题,带电的没有。横幅没有显示,测试的和带电的都没有显示。 这是我的xml AdView: 我在横幅上加了: 活动间隙是以这种方式加载的,它是有效的(测试一没有): 我尝试过的事情 > 使用 使用Firebase广告编译

  • 这是我的第一个Android应用程序,我试图使用admob广告为我的应用程序,但它是不工作,尽管我所做的一切。 这是我活动中与广告相关的代码 下面是我的XML代码 在模拟器上运行应用程序时的logcat读数既奇怪又令人困惑 如您所见,logcat中至少显示了3个错误。首先,google play服务已经导入到项目中。我可以在android私有库文件夹中看到它(但不是在libs文件夹中)。 还有一个

  • 我已经更新了Firebase/admob包。 插播广告正在播放,但横幅却没有。 在更新包之前,横幅广告也很好。 版本: UnitID: BannerAd: Ad加载失败日志: 日志: iOS一切都很好。 没有横幅测试广告显示的原因是什么?

  • 这是我的第一个应用程序,除了广告外,其他都是完整的。请澄清: 我能够让测试广告正确显示,所以测试广告工作完美 我几个小时前刚把付款信息加进我的账户 我收到了一封来自Admob的电子邮件,其中包含我的官方应用ID#和Ad Unit Id# 我在论坛上浏览过,也读过,真正的广告可能需要几个小时几天才能显示出来 我的第一个问题是,对于真正的广告,我应该在清单文件中输入什么数字?从测试文档中: 为了展示一