如何使用 Intent 预加载 AdMob 插页式广告并发送到另一个 android 活动 [英] How To preload AdMob interstitial ad and send to another android activity using intent

查看:30
本文介绍了如何使用 Intent 预加载 AdMob 插页式广告并发送到另一个 android 活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I need some help regarding AdMob interstitial ad.

I want to preload the interstitial ad in one activity. this is straight forward.

// Create an ad.
        interstitialAd = new InterstitialAd(this);
        interstitialAd.setAdUnitId(AD_UNIT_ID);

        AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .addTestDevice(TEST_DEVICE_ID).build();

        // Load the interstitial ad.
        interstitialAd.loadAd(adRequest);

Now I want to send the interstitial Ad to another activity using intent. I don't know how to send it using

intent.putExtra("myAd", interstitialAd);

Thanks in advance.

解决方案

Interstitial ads are not meant or built to be passed around like that using intents' extras.

It's better to

  • recreate & reload an ad in the next activity
  • make an extra public class that holds the interstitial ad, put it there in activity A and retrieve it from there in activity B

Example for 2nd case (semi pseudo code):

public class AdManager {
    // Static fields are shared between all instances.
    static InterstitialAd ad;
    private Context ctx;

    public AdManager(Context ctx) {
        this.ctx = ctx;
        createAd();
    }

    public void createAd() {
        // Create an ad.
        ad = new InterstitialAd(ctx);
        ad.setAdUnitId(AD_UNIT_ID);

        final AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .addTestDevice(TEST_DEVICE_ID).build();

        // Load the interstitial ad.
        ad.loadAd(adRequest);
    }

    public InterstitialAd getAd() {
        return ad;
    }
}

Using

Activity A

AdManager adManager = new AdManager();
adManager.createAd();

Activity B

AdManager adManager = new AdManager();
InterstitialAd ad = adManager.getAd();
if (ad.isLoaded()) {
    ad.show();
}

这篇关于如何使用 Intent 预加载 AdMob 插页式广告并发送到另一个 android 活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆