这是我的清单文件:
<activity
android:screenOrientation="portrait"
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
这是我的活动:
@Override
public void onBackPressed() {
InterstitialAd interstitialAd= new InterstitialAd(this);
interstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
@Override
public void onAdClosed() {
super.onAdClosed();
finish();
}
});
}
按下后面按钮时,我只得到一个广告屏幕2-3次。
好吧,请尝试此
InterstitialAd interstitialAd = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blue);
interstitialAd= new InterstitialAd(this);
interstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
}
@Override
public void onBackPressed() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
finish();
}
});
}else{
super.onBackPressed();
}
}
您的代码问题是您要保留气候广告以加载并在onback press上显示两者,加载插件添加将需要时间,有时也无法加载,当它无法加载时,广告或没有显示ADMOB广告中的广告,将不会显示
更好的是将间隙广告加载到OnCreate方法中,并按照Max在他的答案中的建议显示
中的建议。以及您的代码中,用户将如何从屏幕上退出广告?
最大答案也涵盖了该案例,因此请回答他的答案。如果未显示AD,您必须考虑AD不存在它的代码中的错误,我还建议在测试时使用此ID,这是测试广告,其命中率将很高
interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
如果您在onstart/onresume中添加了相同的代码,请将其删除或在Onbackpressed中删除代码。
因为当Activityb采用前景时,请在Onpause和Onstop状态中进行活动A。
当活动返回时(当从活动b上向后压)时,它将启动,然后调用onResume(Activity A)。
如果用户回到活动a的活动a活动b,则有两个不同的方案: - 活动A:
onCreate{
// Load your ad here
}
onResume{
// show your ad here
}
,如果您想使用它onBackPressed
,则: - 活动B:
onCreate{
// Load your ad here
}
onBackPressed() {
if(mInterstitialAd != null){
// show your ad here
}
else{
super.onBackPressed();
}
}