Java 间隙性Ad';s监听器';s onAdLoaded()赢得';跑不动
我尝试使用调试器,第一行运行了,但第二行根本没有运行。以下是我在onCreate方法中初始化ad的方式:Java 间隙性Ad';s监听器';s onAdLoaded()赢得';跑不动,java,android,admob,interstitial,Java,Android,Admob,Interstitial,我尝试使用调试器,第一行运行了,但第二行根本没有运行。以下是我在onCreate方法中初始化ad的方式: interstitial.setAdListener(new AdListener(){ public void onAdLoaded(){ display(); } }); 间质性和间质性在类内的方法外部。这个奉承被故意掩盖了 日志: interstitial = new InterstitialAd(this); interstitial.setAdUn
interstitial.setAdListener(new AdListener(){
public void onAdLoaded(){
display();
}
});
间质性和间质性代码>在类内的方法外部。这个奉承被故意掩盖了
日志:
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("******************************");
AdRequest adRequest = new AdRequest.Builder().build();
interstitial.loadAd(adRequest);
05-17 20:10:49.802:E/GooglePlayServicesUtil(17509):未找到googleplayservices资源。检查您的项目配置以确保包含资源。
05-17 20:10:49.807:E/GooglePlayServicesUtil(17509):未找到Google Play服务资源。检查您的项目配置以确保包含资源。
05-17 20:10:51.597:I/GATE(17509):开发行动完成
05-17 20:10:51.597:I/Ads(17509):计划从现在起60000毫秒的ad刷新。
05-17 20:10:51.602:I/Ads(17509):Ad已完成加载。
05-17 20:10:51.632:D/TileManager(17509):启动TG#0,0x5b3446f0
05-17 20:10:51.632:D/TileManager(17509):来自框架的新EGLContext:593202c0
05-17 20:10:51.632:D/GLWebViewState(17509):Reinit着色器
05-17 20:10:51.632:D/GLWebViewState(17509):重新输入传输队列
05-17 20:10:56.262:D/AblistView(17509):获取运动识别管理器
05-17 20:11:31.987:I/Ads(17509):Ad不可见。不刷新广告。
05-17 20:11:31.992:I/Ads(17509):计划从现在起60000毫秒后的ad刷新。
希望您在AndroidManifest.xml中添加了以下内容
互联网许可
05-17 20:10:49.802: E/GooglePlayServicesUtil(17509): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-17 20:10:49.807: E/GooglePlayServicesUtil(17509): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
05-17 20:10:51.597: I/GATE(17509): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
05-17 20:10:51.597: I/Ads(17509): Scheduling ad refresh 60000 milliseconds from now.
05-17 20:10:51.602: I/Ads(17509): Ad finished loading.
05-17 20:10:51.632: D/TilesManager(17509): Starting TG #0, 0x5b3446f0
05-17 20:10:51.632: D/TilesManager(17509): new EGLContext from framework: 593202c0
05-17 20:10:51.632: D/GLWebViewState(17509): Reinit shader
05-17 20:10:51.632: D/GLWebViewState(17509): Reinit transferQueue
05-17 20:10:56.262: D/AbsListView(17509): Get MotionRecognitionManager
05-17 20:11:31.987: I/Ads(17509): Ad is not visible. Not refreshing ad.
05-17 20:11:31.992: I/Ads(17509): Scheduling ad refresh 60000 milliseconds from now.
是否缺少onAdLoaded()方法之前的@override不要从#onAdLoaded调用display()。这将导致用户体验非常差。而是从应用程序中的自然断点调用display(如果已加载广告) 你的日志中的这些行也表明你也有横幅广告
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(getResources().getString(R.string.admob_inst));
// interstitial.setAdUnitId("01010101");
// Create ad request.
AdRequest adRequest = new AdRequest.Builder().build();
// Begin loading your interstitial.
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// TODO Auto-generated method stub
super.onAdLoaded();
interstitial.show();
}
});
如果不是这样的话,那么你已经错误地配置了你的adUnit,因为你得到的是自动刷新,而这种情况不会发生在间隙。每次都需要显式加载一个间隙。使用以下代码在AdLoaded()上显示ad的侦听器。我用了同样的。它为我工作
05-17 20:11:31.987: I/Ads(17509): Ad is not visible. Not refreshing ad.
05-17 20:11:31.992: I/Ads(17509): Scheduling ad refresh 60000 milliseconds from now.
外部oncreate函数使用以下代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("***********");
AdRequest adRequest = new AdRequest.Builder().build();
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
displayInterstitial();
}
});
}
这行不通。顺便说一句,广告部门的身份证被故意掩盖了@MAC@zbz.lvlv:更新的答案。我在AndroidManifest中已经有了。我有另一个横幅广告在主要活动中的工作。此间隙性ad不在主要活动中。是否检查日志?确保您已经添加了这一行
interstitual.show()代码>我刚检查过。我发现一些可疑的东西。我会更新我的问题。我有一行中间的。show()@MACyes。即使我加入了(at)覆盖,仍然没有结果@EsssesAddthis并查看是否调用了(at)Override public void on adfailedtoload(int errorCode)。我假设您正在display()方法中调用interstitual.show()。如果没有,则调用interstitual.show()。或者,检查您是否正在使用最新的google-play-services\u libI无法在Android SDK工具上更新。这是否意味着我有最新版本的谷歌游戏库@是的,那么你有最新的。请参阅下面MAC的回答,您需要检查清单文件中的权限和元数据。您能进一步解释吗?我不明白。那我该怎么办@William哪一位您不明白?如果Interstitual.isLoaded()是由名为OnAndLoaded的侦听器方法调用的,为什么要检查它?
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(getResources().getString(R.string.admob_inst));
// interstitial.setAdUnitId("01010101");
// Create ad request.
AdRequest adRequest = new AdRequest.Builder().build();
// Begin loading your interstitial.
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// TODO Auto-generated method stub
super.onAdLoaded();
interstitial.show();
}
});
05-17 20:11:31.987: I/Ads(17509): Ad is not visible. Not refreshing ad.
05-17 20:11:31.992: I/Ads(17509): Scheduling ad refresh 60000 milliseconds from now.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("***********");
AdRequest adRequest = new AdRequest.Builder().build();
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
displayInterstitial();
}
});
}
public void displayInterstitial() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}