我试着用测试的ID,它显示广告。后来我放了自己的ID,但是没有显示任何广告。
代码。
setContentView(R.layout.activity_testing);
mInterstitialAd = new InterstitialAd(TestAd.this);
mInterstitialAd.setAdUnitId(getString(R.string.adunitid));
AdRequest adRequest=new AdRequest.Builder().build();
mInterstitialAd.loadAd(adRequest);
ad.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mInterstitialAd.isLoaded()){
mInterstitialAd.show();
}
else{
Toast.makeText(TestAd.this, "Ad Not Loaded", Toast.LENGTH_SHORT).show();
}
mInterstitialAd.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
mInterstitialAd.loadAd(new AdRequest.Builder().build());
super.onAdClosed();
}
});
}
});
用于初始化的Java文件
public class Admob extends Application {
@Override
public void onCreate() {
super.onCreate();
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
}}
Android Manifest :
android:name="com.test.Admob"
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/appid"/>
首先,你不能在调试模式下显示实时广告,如果它在测试ID下工作,当你发布应用时,它在真实ID下也应该是很酷的。
但还有一件事,你可以使用,我的意思是,以确保一切工作。
首先,让每个ids真实的包含在manifest文件中的id。
在运行你的应用程序后,打开你的Logcat,然后简单地写下
检验
像这样。
获取该ID并更新你的 AdRequest
这样
AdRequest adRequest=new AdRequest.Builder().addTestDevice("id_here").build();
并重新运行你的应用程序。
恭喜你,你现在可以用你的真实ID看到你的广告了!希望对你有帮助。
更新。
旧的用法看起来已经不适用了,谢谢 @heisenberg3008
如谷歌所言 现用 应该是这样
List<String> testDeviceIds = Arrays.asList("id_here");
RequestConfiguration configuration =
new RequestConfiguration.Builder().setTestDeviceIds(testDeviceIds).build();
MobileAds.setRequestConfiguration(configuration);
这是一次性的事情。所以,不需要像以前一样,对每一个广告项目都做。