可能重复:
如何获取Admob的设备ID
我正在我的Android设备上测试adMob并跟随文档,我正在尝试让设备ID执行adRequest.但是,我无法在logCat中找到设备ID!我做错了什么?
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adRequest.addTestDevice("test");
Run Code Online (Sandbox Code Playgroud)
编辑:它不是重复,其他帖子的那些方法对我不起作用.
早上好,
我的问题是广告根本没有在我的应用,测试模式中显示.我将把这个问题专门用于测试模式,一旦我开始工作,我会担心实时广告.
发展信息
我正在使用Eclipse进行开发.
我在Android应用中使用Google Play服务和Admob设置了广告,如Google提供的在线文档中所述.
我使用addTestDevice("xxxxxxxxxxxxxxxx")添加了我的设备ID,并多次检查散列设备ID以确保它是正确的.
我正在使用真实设备进行测试.适用于Android 4.1.2的HTC Sensation.广告适用于设备上安装的其他应用.
问题(见下面的日志信息)
当我在设备上运行应用程序时,根本不会显示任何广告.即使我将设备添加为测试设备,也会发生这种情况.
我搜索过高低,并发现了很多类似的问题,但我还没有找到这个具体问题的答案.
我尝试了很多东西:
我根本无法深究这个问题.我将非常感谢能够帮助我的人.我有一种感觉,我可能会遗漏一些非常小而重要的东西,这会导致我这些问题.
我关注的线路已经放在下面的过滤日志中("没有来自广告服务器的填充").在完整的日志中,还有一行'找不到谷歌播放服务资源',但经过一些研究后,这似乎不是我的问题的原因,并且看起来是我们可以忽略的事情.
无论如何,我认为这是关于我的所有信息 - 提前感谢任何为我调查此事的人.
过滤的日志
当按"log:ads"过滤时,LogCat输出以下内容:
03-15 09:51:46.549: I/Ads(12405): Use AdRequest.Builder.addTestDevice("A24031FACA2D8B7F7AFB280EB4E87A11") to get test ads on this device.
03-15 09:51:46.569: I/Ads(12405): Starting ad request.
03-15 09:51:48.642: I/Ads(12405): No fill from ad server.
03-15 09:51:48.652: W/Ads(12405): Failed to load ad: 3
Run Code Online (Sandbox Code Playgroud)
完整的logcat输出
03-15 10:07:56.980: D/IntroActivity(15242): ++onCreate
03-15 10:07:59.432: I/Ads(15242): Use AdRequest.Builder.addTestDevice("A24031FACA2D8B7F7AFB280EB4E87A11") to get …Run Code Online (Sandbox Code Playgroud) 我知道这个话题已经发布了很多次,但是没有真正的解决方案可以解决这个问题。
最近,我决定在几个应用程序中进行更新。这是次要的更新,将库版本(也包括admob)更改为最新版本。我也将targetSdkVersion从25更改为26。几天后,我检查了admob的统计信息,所有这些应用中的填充率均降至0!并且请求的数量增加了。用于横幅和插页式广告。其他应用程序不受影响。
我以为这是一个愚蠢的错误,但是我在代码中找不到任何问题。
在横幅广告和插页式广告的日志中,我看到的是:
I /广告:广告服务器未填满。
W /广告:无法加载广告:3
我已尽力简化此问题,因此我从android studio模板创建了一个全新的项目-Google AdMob Ads Activity,并将包名称设置为其中一个受影响的应用。结果是一样的。仍然没有填补。
该请求是从测试设备发送的。
在确认这一点。
我已经尝试过这篇文章中的虚拟广告ID:是否有AdMob虚拟ID?
我尝试使用具有不同sdk级别的不同设备。
我尝试过使用firebase-ads和play-services-ads。
我尝试使用较旧的admob SDK。
我尝试使用较低的targerSdkVersions。
所有这些都给我什么。但是我发现只有一种方法可以更改包装名称。立刻,无论是什么广告,无论它是不是测试设备,我总会收到一则广告。插页式广告和横幅。
这是我的MainActivity.java代码:
public class MainActivity extends AppCompatActivity {
public static final String ADMOB_INTERSTITIAL_DUMMY = "ca-app-pub-3940256099942544/1033173712";
public static final String ADMOB_INTERSTITIAL = "ca-app-pub-my_own_ad_id";
public InterstitialAd interstitial;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdView adView = (AdView) findViewById(R.id.adView);
adView.loadAd(newAdRequest());
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(ADMOB_INTERSTITIAL_DUMMY); //ADMOB_INTERSTITIAL
interstitial.loadAd(newAdRequest());
interstitial.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
interstitial.loadAd(newAdRequest());
} …Run Code Online (Sandbox Code Playgroud)