AdMob 插页式广告在网页(活动)加载后启动



我按照以下链接实现了Admob 插页式广告,

http://www.androidhive.info/2016/02/android-how-to-integrate-google-admob-in-your-app/

此实现的问题是插页式广告不会在活动之间显示。单击列表后,它将转到下一个活动,并在 1-2 秒后显示广告。这违反了AdMob政策。

那么我怎样才能以广告在活动之间显示的方式实现代码。

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;
public class SecondActivity extends AppCompatActivity {
    private String TAG = SecondActivity.class.getSimpleName();
    InterstitialAd mInterstitialAd;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        mInterstitialAd = new InterstitialAd(this);
        // set the ad unit ID
        mInterstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
        AdRequest adRequest = new AdRequest.Builder()
                .build();
        // Load ads into Interstitial Ads
        mInterstitialAd.loadAd(adRequest);
        mInterstitialAd.setAdListener(new AdListener() {
            public void onAdLoaded() {
                showInterstitial();
            }
        });
    }
    private void showInterstitial() {
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }
    }
}

您需要将广告加载和广告展示分开,以避免广告在不需要的时间展示。

正在做的是在您实际想要展示广告的时间内加载广告

首先在活动开始时加载广告:

interstitial = new InterstitialAd(this); 
interstitial.setAdUnitId("ID");
AdRequest adRequest1 = new AdRequest.Builder().build();
interstitial.loadAd(adRequest1);

当您想要展示广告时,请检查广告的可用性并显示广告是否已加载:

if (interstitial.isLoaded()) {
    interstitial.show();

这样广告就会立即显示,而不会延迟

我建议你将加载代码放在你的第一个活动中,当用户点击转到第二活动时,运行 interstitial.show() 代码

将此代码放在第一个活动中,showInterstitial();放在启动第二个活动的项目的 OnClick 中。 showInterstitial()应该是在 OnClick 中完成的第一件事,然后启动下一个活动。

然后,您可以删除整个部分:

mInterstitialAd.setAdListener(new AdListener() {
        public void onAdLoaded() {
            showInterstitial();
        }
    });

广告将在该后台加载,因为您正在 onCreate 中加载广告(就像您应该的那样),并且在用户点击项目以移动到下一个活动时,广告应该已准备就绪。如果尚未准备就绪,则根本不会显示。

最新更新