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

无法在android中获取广告id

贾骏喆
2023-03-14

我使用下面的代码来获取android中的广告id,但它给出了以下例外。

06-12 12:14:19.034: E/AndroidRuntime(13631): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.authorwjf.amianemulator/com.authorwjf.amianemulator.Main}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.android.gms.ads.identifier.AdvertisingIdClient$Info.getId()' on a null object reference

我在android清单文件中添加了google play服务库和meta标记。

我使用下面的代码在活动的创建方法。

 Info adInfo = null;

    try {
         adInfo = AdvertisingIdClient.getAdvertisingIdInfo(this);
    } catch (IOException e) {

    } catch (GooglePlayServicesNotAvailableException e) {

    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (GooglePlayServicesRepairableException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    String AdId = adInfo.getId();
    System.out.println("AdId :: "+AdId);

一些疑问:

>

  • GenyMoon是否支持广告id?

    是否所有使用4.0及以上版本的android手机都有广告id?

    请帮我弄一下广告ID。

  • 共有1个答案

    张翰音
    2023-03-14

    您收到此异常是因为设备(或模拟器)上未安装Google Play服务。

    正如您在Google Play Services文档中看到的:

    注意:因为很难预测每个设备的状态,所以在访问Google Play服务功能之前,您必须始终检查兼容的Google Play服务APK。

    参考:https://developers.google.com/android/guides/setup#ensure_devices_have_the_google_play_services_apk

    您可以检查Google Play服务是否安装了isGooglePlayServices可用方法,例如:

    if(GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) == ConnectionResult.SUCCESS) {
        //Google Play Services are available
    } else {
        //Google Play Services are not available, or not updated
    }
    

    genyMotion支持广告id吗?

    是的,但您需要手动安装Google Play服务。看看这个答案。

    是否所有使用4.0及以上版本的android手机都有广告id?

    不,Google Play服务可能不可用。

     类似资料:
    • sp_getad(); 功能: 根据广告名称获取广告内容 参数: $ad_name:广告名称 返回: 格式 string,广告内容 示例: <?php $ad_name='top_ad'; $ad_content=sp_getad('top_ad'); //获取广告内容 echo $ad_content; //输出广告内容 模板中用法: <div> {:sp_getad('top

    • 我想得到的活动和广告表现的报告。到目前为止,我已经得到了竞选业绩报告,但我无法得到广告业绩报告。 我在客户端库中看到了谷歌广告api和它们的例子。但我无法理解如何获得广告报道。 我正在制作一个函数,通过谷歌广告api为我获取报告。 谷歌广告Api:https://developers.google.com/google-ads/api/docs/fields/ad_group_ad#ad_grou

    • 我创建了一个新的广告id并复制了interstital广告单元id和应用程序id,但它不起作用。 但是当我使用interstial id测试时,它显示的是一个广告。但是当我复制并使用创建的interstital id时,它不会显示广告。在过去的几天里,我在这方面苦苦挣扎。我创建了新帐户并检查了。还是一样的错误。

    • 我正在尝试在我的Android应用程序中测试一个有奖视频,但我不想使用我的真实id,因为他们可以关闭我的帐户。在哪里可以获取此测试的测试单元ID? 编辑:使用admob

    • 我正在尝试在我的android应用程序中添加原生广告。但我不断收到错误未能加载带有错误代码3的广告。我已经在其他测试广告单元中尝试过,在这种情况下,我的代码运行正常,广告正在显示。但是当我尝试显示来自同一帐户的横幅广告时,我得到的错误代码为0。我无法从我的帐户显示任何类型的广告。 注意:-我在3天前创建了此帐户,并且在此中也启用和验证了计费。

    • 我正在尝试将广告添加到我的应用程序中,但运行时出现错误 它显示在运行屏幕上 警告:请求的ram_size 1536M太大,减少到1440M仿真器:警告:崩溃服务未启动Hax已启用Hax ram_size0x5a000000HAX正在工作,仿真器在快速虚拟模式下运行。qemu-system-i386.exe:-drive if=none,index=0,id=system,file=C:\Users