admob插页式广告问题?

时间:2016-09-02 08:03:28

标签: android cordova phonegap-plugins cordova-admob

我正在使用cordova phonegap android平台开发应用程序。

我在我的应用中安装了用户广告插件,一切正常,但在设备moto G中,即使在我离开我的应用后,插页式广告仍在营业。

如果您有任何人遇到此问题并修好它,请告诉我。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

请参阅此处的文档(我刚刚对其进行了修改):https://github.com/appfeel/admob-google-cordova/wiki/showInterstitialAd

  

注意:即使Android应用程序在,也可能会显示插页式广告   背景。出于这个原因,建议停止横幅和   插页式广告然后在onPause和onResume事件时重新加载   被发现了。

出于这个原因,您应该听取onPauseonResume事件:

var isAppForeground = true;

function onAdLoaded(e) {
  if (isAppForeground) {
    if (e.adType === admob.AD_TYPE.INTERSTITIAL) {
      admob.showInterstitialAd();
    }
  }
}

function onPause() {
  if (isAppForeground) {
    admob.destroyBannerView();
    isAppForeground = false;
  }
}

function onResume() {
  if (!isAppForeground) {
    setTimeout(admob.requestInterstitialAd, 1);
    isAppForeground = true;
  }
}

// optional, in case respond to events
function registerAdEvents() {
  document.addEventListener(admob.events.onAdLoaded, onAdLoaded);

  document.addEventListener("pause", onPause, false);
  document.addEventListener("resume", onResume, false);
}

function initAds() {
  if (admob) {
    var adPublisherIds = {
      ios : {
        banner : "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB",
        interstitial : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII"
      },
      android : {
        banner : "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB",
        interstitial : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII"
      }
    };

    var admobid = (/(android)/i.test(navigator.userAgent)) ? adPublisherIds.android : adPublisherIds.ios;

    admob.setOptions({
      publisherId:          admobid.banner,
      interstitialAdId:     admobid.interstitial,
      autoShowInterstitial: false
    });

    registerAdEvents();

  } else {
    alert('AdMobAds plugin not ready');
  }
}

function onDeviceReady() {
  document.removeEventListener('deviceready', onDeviceReady, false);
  initAds();

  // request an interstitial
  admob.requestInterstitialAd();
}

document.addEventListener("deviceready", onDeviceReady, false);