java - 如何在 Activity 中加载插页式广告并在另一个 Activity 中显示?

标签 java android eclipse admob interstitial

我想在 Activity 中加载插页式广告并在另一个 Activity 中显示它。我找到了这个主题并尝试执行第一个答案中的步骤,但有很多错误。

How To preload admob interstitial ad and send to another android activity using intent

这就是我所做的:

  • 我创建了一个公共(public)类并将其命名为“AdManager”,并将以下代码放入其中:

    `package com.website.test;
    import com.google.android.gms.ads.InterstitialAd;

    public class AdManager {

    // Static fields are shared between all instances. static InterstitialAd ad;

    public AdManager() { createAd(); }

    public void createAd() { // Create an ad. interstitialAd = new InterstitialAd(this); interstitialAd.setAdUnitId("");

    AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice(TEST_DEVICE_ID).build(); // Load the interstitial ad. interstitialAd.loadAd(adRequest); } public InterstitialAd getAd() { return ad;}}
  • 在 A 类的创建事件中,我输入了以下内容:

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

  • 在我想要显示插页式广告的 Activity 的创建事件中,我放置了以下内容:

InterstitialAd ad = admanager.getAd(); if (ad.isLoaded) { 广告.show(); }

但有一些错误,如我所附的图片所示,请告诉我哪里出了问题?

screenshot1

screenshot2

最佳答案

class AdManager {
// Static fields are shared between all instances.
private static InterstitialAd interstitialAd;

private static boolean isInterAdsShowed = false;
private Activity activity;
private String AD_UNIT_ID;

AdManager(Activity activity, String AD_UNIT_ID) {

    this.activity = activity;
    this.AD_UNIT_ID = AD_UNIT_ID;
    createAd();
}

void createAd() {
    // Create an ad.
    interstitialAd = new InterstitialAd(activity);
    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);
}

static InterstitialAd getAd() {
    if(interstitialAd != null && interstitialAd.isLoaded() && !isInterAdsShowed) {
        isInterAdsShowed = true;
        return interstitialAd;
    }
    else return null;
}

}

...... Activity A

  AdManager adManager = new AdManager(this,"your ads id");
    adManager.createAd();

.... Activity B

 InterstitialAd ad = AdManager.getAd();
    if (ad != null) {
        ad.show();
    }

关于java - 如何在 Activity 中加载插页式广告并在另一个 Activity 中显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33985009/

相关文章:

java - 检查按钮周围是否有空白区域

java - 设置 jtextarea 的字体名称、样式和大小

java - 如何检查 servlet 中的 sessionId 是否有效 (java)

java - 警告此方法有构造函数名称

c++ - 如何调整 Eclipse 的 C++ 索引器?

java - 使用Java将数据从一个数据库导入到另一个数据库的最快方法

java - 将字体添加到 Intent 以发送到另一个 Activity

android - 自动安装Android应用程序

java - ResourceHandler 停止托管带有 jetty 9 的文件 - 404 未找到错误(适用于 jetty 8)

java - 如何在 Android 中使用 Smack 4.1?