Java Admob未从ad服务器填充-加载ad失败:3
我的问题是,无论是否在测试模式下,我的应用程序中根本没有显示广告。我将把这个问题保持在特定的测试模式,一旦我得到工作,我会担心现场广告 发展信息 我正在使用Eclipse进行开发 我在Android应用程序中使用Google Play Services和Admob设置了广告,如Google提供的在线文档所述 我已经使用addTestDevice(“XXXXXXXXXXXXXX”)添加了我的设备ID,并多次检查哈希设备ID以确保其正确 问题(日志信息见下文) 当我在我的设备上运行应用程序时,根本不会显示任何广告。即使我将设备添加为测试设备,也会发生这种情况 我到处寻找,发现了许多类似的问题,但还没有找到这个具体问题的答案 LogCat输出Java Admob未从ad服务器填充-加载ad失败:3,java,android,eclipse,admob,cocos2d-android,Java,Android,Eclipse,Admob,Cocos2d Android,我的问题是,无论是否在测试模式下,我的应用程序中根本没有显示广告。我将把这个问题保持在特定的测试模式,一旦我得到工作,我会担心现场广告 发展信息 我正在使用Eclipse进行开发 我在Android应用程序中使用Google Play Services和Admob设置了广告,如Google提供的在线文档所述 我已经使用addTestDevice(“XXXXXXXXXXXXXX”)添加了我的设备ID,并多次检查哈希设备ID以确保其正确 问题(日志信息见下文) 当我在我的设备上运行应用程序时,根本不
10-28 13:56:41.659: I/Ads(1704): Starting ad request.
10-28 13:56:42.187: I/Ads(1704): No fill from ad server.
10-28 13:56:42.187: W/Ads(1704): Failed to load ad: 3
10-28 13:56:42.199: W/Ads(1704): No GMSG handler found for GMSG: gmsg://mobileads.google.com/jsLoaded?google.afma.Notify_dt=1414504602197
我的活动
package bb.hoppingbird;
import org.cocos2d.layers.CCScene;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.opengl.CCGLSurfaceView;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import android.app.Activity;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.view.ViewPager.LayoutParams;
import android.util.DisplayMetrics;
import android.view.KeyEvent;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
private CCGLSurfaceView mGLSurfaceView;
//<!-- Admob Ads Using Google Play Services SDK -->
private static final String AD_UNIT_ID = "ca-app-pub-xxxxxxxxxxxxxxxxxxxx";
private static final String AD_INTERSTITIAL_UNIT_ID = "ca-app-pub-xxxxxxxxxxxxxxxxxxxx";
/** The Admob ad. */
private InterstitialAd interstitialAd = null;
public AdView adView = null;
public static MainActivity app;
public void onCreate(Bundle savedInstanceState)
{
app = this;
super.onCreate(savedInstanceState);
// set view
mGLSurfaceView = new CCGLSurfaceView(this);
//Ads ----------------
// Create the adView
RelativeLayout layout = new RelativeLayout(this);
layout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
//<!-- Ads Using Google Play Services SDK -->
adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(AD_UNIT_ID);
// Add the adView to it
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
params.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
adView.setLayoutParams(params);
layout.addView(mGLSurfaceView);
layout.addView(adView);
setContentView(layout);
//New AdRequest
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("0D47C6944503F0284666D16BB79BF684")
.build();
// Start loading the ad in the background.
adView.loadAd(adRequest);
//-----------------------------------------------------Interstitial Add
// Create an Interstitial ad.
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AD_INTERSTITIAL_UNIT_ID);
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
interstitialAd.show();
}
@Override
public void onAdFailedToLoad(int errorCode) {
Toast.makeText(getApplicationContext(), "Interstitial Ads loading failed", Toast.LENGTH_SHORT).show();
}
});
// Load the interstitial ad.
//showInterstitialAds();
//----------------------
// set director
CCDirector director = CCDirector.sharedDirector();
director.attachInView(mGLSurfaceView);
director.setAnimationInterval(1/60);
// get display info
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
G.display_w = displayMetrics.widthPixels;
G.display_h = displayMetrics.heightPixels;
G.scale = Math.max(G.display_w/1280.0f, G.display_h/800.0f);
G.width = G.display_w / G.scale;
G.height = G.display_h / G.scale;
// get data
SharedPreferences sp = CCDirector.sharedDirector().getActivity().getSharedPreferences("GameInfo", 0);
G.music = sp.getBoolean("music", true);
G.sound = sp.getBoolean("sound", true);
// create sound
G.soundMenu = MediaPlayer.create(this, R.raw.menu);
G.soundMenu.setLooping(true);
G.soundGame = MediaPlayer.create(this, R.raw.game);
G.soundGame.setLooping(true);
G.soundCollide = MediaPlayer.create(this, R.raw.collide);
G.soundJump = MediaPlayer.create(this, R.raw.jump);
G.soundLongJump = MediaPlayer.create(this, R.raw.long_jump);
G.soundSpeedDown = MediaPlayer.create(this, R.raw.speed_down);
G.soundSpeedUp = MediaPlayer.create(this, R.raw.speed_up);
G.soundDirection = MediaPlayer.create(this, R.raw.direction_sign);
G.soundClick = MediaPlayer.create(this, R.raw.menu_click);
G.soundCollect = MediaPlayer.create(this, R.raw.collect);
G.bgSound = G.soundMenu;
// show menu
CCScene scene = CCScene.node();
scene.addChild(new MenuLayer(true));
director.runWithScene(scene);
}
@Override
public void onPause()
{
if (adView != null) {
adView.pause();
}
super.onPause();
G.bgSound.pause();
CCDirector.sharedDirector().onPause();
}
@Override
public void onResume()
{
super.onResume();
if (adView != null) {
adView.resume();
}
if( G.music ) G.bgSound.start();
CCDirector.sharedDirector().onResume();
}
@Override
public void onDestroy()
{
// Destroy the AdView.
if (adView != null) {
adView.destroy();
}
super.onDestroy();
G.bgSound.pause();
CCDirector.sharedDirector().end();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if( keyCode == KeyEvent.KEYCODE_BACK )
{
CCDirector.sharedDirector().onKeyDown(event);
return true;
}
return super.onKeyDown(keyCode, event);
}
public void showInterstitialAds()
{
runOnUiThread(new Runnable() {
public void run() {
AdRequest interstitialAdRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(interstitialAdRequest);
}
});
}
}
包装bb.hoppingbird;
导入org.cocos2d.layers.CCScene;
导入org.cocos2d.nodes.CCDirector;
导入org.cocos2d.opengl.CCGLSurfaceView;
导入com.google.android.gms.ads.AdListener;
导入com.google.android.gms.ads.AdRequest;
导入com.google.android.gms.ads.AdSize;
导入com.google.android.gms.ads.AdView;
导入com.google.android.gms.ads.alad;
导入android.app.Activity;
导入android.content.SharedReferences;
导入android.media.MediaPlayer;
导入android.os.Bundle;
导入android.support.v4.view.ViewPager.LayoutParams;
导入android.util.DisplayMetrics;
导入android.view.KeyEvent;
导入android.widget.RelativeLayout;
导入android.widget.Toast;
公共类MainActivity扩展了活动{
私有CCGLSurfaceView mGLSurfaceView;
//
私有静态最终字符串AD_UNIT_ID=“ca-app-pub-xxxxxxxxxxxxxxxxx”;
私有静态最终字符串AD_interstitual_UNIT_ID=“ca-app-pub-XXXXXXXXXXXXX”;
/**Admob广告*/
private interstitalad interstitalad=null;
public AdView AdView=null;
公共静态维护活动应用程序;
创建时的公共void(Bundle savedInstanceState)
{
app=这个;
super.onCreate(savedInstanceState);
//设置视图
mGLSurfaceView=新CCGLSurfaceView(此);
//广告----------------
//创建adView
RelativeLayout布局=新的RelativeLayout(此);
layout.setLayoutParams(新的RelativeLayout.LayoutParams(LayoutParams.MATCH_父级,LayoutParams.MATCH_父级));
//
adView=新adView(本);
adView.setAdSize(AdSize.SMART_BANNER);
咨询意见。设置ADUnitID(AD_单位ID);
//将adView添加到其中
RelativeLayout.LayoutParams params=新的RelativeLayout.LayoutParams(
LayoutParams.WRAP_内容,
LayoutParams.WRAP_内容);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,RelativeLayout.TRUE);
params.addRule(RelativeLayout.CENTER_HORIZONTAL,RelativeLayout.TRUE);
adView.setLayoutParams(参数);
layout.addView(mGLSurfaceView);
layout.addView(adView);
setContentView(布局);
//新地址
AdRequest AdRequest=新建AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE\u ID\u仿真器)
.addTestDevice(“0D47C6944503F0284666D16BB79BF684”)
.build();
//开始在后台加载广告。
adView.loadAd(adRequest);
//-----------------------------------------------------间隙加法
//创建一个间隙广告。
Interstitalad=新的Interstitalad(本);
间质性单位(AD_INTERSTITIAL_UNIT_ID);
interstituralad.setAdListener(新的AdListener(){
@凌驾
已加载的公共无效(){
间质显示();
}
@凌驾
在失败的TOLOAD上公开无效(int错误代码){
Toast.makeText(getApplicationContext(),“插入式广告加载失败”,Toast.LENGTH_SHORT.show();
}
});
//加载间隙ad。
//showAlads();
//----------------------
//布景导演
CCDirector=CCDirector.sharedDirector();
attachInView(mGLSurfaceView)总监;
导演:setAnimationInterval(1/60);
//获取显示信息
DisplayMetrics DisplayMetrics=新的DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
G.display_w=displayMetrics.widthPixels;
G.display_h=displayMetrics.heightPixels;
G.scale=数学最大值(G.display_w/1280.0f,G.display_h/800.0f);
G.宽度=G.显示和G.刻度;
G.高度=G.显示高度/G.刻度;
//获取数据
SharedReferences sp=CCDirector.SharedDirectory().getActivity().GetSharedReferences(“GameInfo”,0);
G.music=sp.getBoolean(“music”,true);
G.sound=sp.getBoolean(“sound”,true);
//创造声音
G.soundMenu=MediaPlayer.create(这个,R.raw.menu);
G.soundMenu.setLooping(真);
G.soundGame=MediaPlayer.create(this,R.raw.game);
G.soundGame.setLooping(真);
G.soundCollide=MediaPlayer.create(this,R.raw.collide);
G.soundJump=MediaPlayer.create(这个,R.raw.jump);
G.soundLongJump=MediaPlayer.create(这个,R.raw.long_jump);
G.soundSpeedDown=MediaPlayer.create(这个,R.raw.speed\u down);
G.soundSpeedUp=MediaPlayer.create(this,R.raw.speed_-up);
G.soundDirection=MediaPlayer.create(此为R.raw.direction符号);
G.soundClick=MediaPlayer.create(这个,R.raw.menu\u click);
G.soundCollect=MediaPlayer.create(this,R.raw.collect);
G.bgSound=G.soundMenu;
//显示菜单
CCScene=CCScene.node();
场景
Bundle extras = new Bundle();
extras.putBoolean("is_designed_for_families", true);
AdRequest request = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
Ads: Use AdRequest.Builder.addTestDevice("903A70A3D439E256BAED43E65A79928E") to get test ads on this device.
MobileAds.initialize(this, getString(R.string.admob_app_id));
AdView mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
/** adRequest Object For test device */
AdRequest adRequest = new AdRequest.Builder().addTestDevice("TEST_DEVICE_ID").build();
/** adRequest Object For Production Device*/
AdRequest adRequest = new AdRequest.Builder().build();
mAdInterstitial.loadAd(AdRequest.Builder().addTestDevice("XXXXXXX").build())
mAdInterstitial.adListener = object : AdListener() {
override fun onAdLoaded() {
mAdInterstitial.show()
}
}
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
app:adSize="BANNER"
app:adUnitId="ca-app-pub-3940256099942544/6300978111"></com.google.android.gms.ads.AdView>
MobileAds.initialize(this) {}
var mAdView = findViewById<AdView>(R.id.adView)
val adRequest = AdRequest.Builder().build()
mAdView.loadAd(adRequest)