admobpro AdMob.showInterstitial()导致无限循环

时间:2015-09-14 01:29:15

标签: angularjs cordova ionic-framework admob intel-xdk

admobpro AdMob.showInterstitial()导致无限循环

我在离子/ angularjs应用程序中使用admobpro,每次我调用AdMob.showInterstitial()时都会出现一个广告,但是当我点击X关闭广告时,会立即弹出一个新广告。我最初从init函数调用showInterstitial但是想到这可能是问题,所以我创建了一个测试页面,当我点击一个按钮时会显示插页式广告,同样的 结果。无限循环。

有其他人有这个问题。

   var admobid = {};
// select the right Ad Id according to platform
if( /(android)/i.test(navigator.userAgent) ) { 
    admobid = { // for Android
        banner: 'ca-app-pub-6869992474017983/9375997553',
        interstitial: 'ca-app-pub-6869992474017983/1657046752'
    };
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {
    admobid = { // for iOS
        banner: 'ca-app-pub-6869992474017983/4806197152',
        interstitial: 'ca-app-pub-6869992474017983/7563979554'
    };
} else {
    admobid = { // for Windows Phone
        banner: 'ca-app-pub-6869992474017983/8878394753',
        interstitial: 'ca-app-pub-6869992474017983/1355127956'
    };
}


function adSetter(){

if(window.AdMob) AdMob.createBanner( {
        isTesting:true,
    adId:admobid.banner, 
    position:AdMob.AD_POSITION.BOTTOM_CENTER, 
    autoShow:true} );

  if(window.AdMob) AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:false} );

}
  function onDeviceReady(){
        adSetter();
  }


function domLoaded(){
 document.addEventListener("deviceready", onDeviceReady, false);
}

我的代码: fron ionic

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs)
    if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
      cordova.plugins.Keyboard.disableScroll(true);

    }
    if (window.StatusBar) {
      // org.apache.cordova.statusbar required
      StatusBar.styleLightContent();
    }

      //start admob

    domLoaded();

      //end admob
  });
})

1 个答案:

答案 0 :(得分:0)

我发现你混合了一些代码。当cordova的设备已经发生时,会调用离子的$ ionicPlatform.ready(),因此无需再次在$ ionicPlatform.ready()

内调用设备。

我在这里有一个关于离子广告的完整演示http://pointdeveloper.com/how-to-add-banner-ads-to-ionic-apps-using-admob-pro-plugin/

从代码看起来似乎没问题,它应该运行唯一的事情,你必须确保AdMob.showInterstitial()没有在循环中被调用。

如你所说,你也尝试过按钮,我建议你创建一个新项目,然后再试一次。