这是我的清单文件:
<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次广告屏幕。所以,我可以在每次按下后按钮时解决它。
答案 0 :(得分:13)
好好试试这个
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();
}
}
答案 1 :(得分:0)
如果您在onStart / onResume中添加了相同的代码,请删除它或删除onBackPressed中的代码。
因为当ActivityB占用前景时,活动A处于onPause和onStop状态。
当ActivityA返回时(从活动B按下后退),它将获得onStart,然后调用onResume(活动A)。
答案 2 :(得分:0)
您的代码存在的问题是,您是要保留加载广告的广告并在onback press上显示,加载时间间隔添加需要花费时间,有时也无法加载,加载广告失败或广告不可用时admob广告不会显示
更好的办法是在oncreate方法中加载插页式广告,然后在他的回答中以最大建议显示它们
并且在您的代码中,用户退出屏幕的方式是广告不可用?
这个案例也包含在最大答案中,所以请回答他的答案。如果广告没有显示,您必须考虑广告不存在它不是您的代码中的错误,我还建议在测试时使用此ID是测试广告并且其命中率将非常高
interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");