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

问题描述:

admobpro AdMob.showInterstitial()导致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); 
} 

我的代码: 弗朗离子

.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

你能否提供一段代码来显示代码的调用方式? –

我看你已经混了一下代码。当科尔多瓦deviceready已发生所以没有必要再调用设备准备好$ ionicPlatform.ready()

我对这里的离子广告http://pointdeveloper.com/how-to-add-banner-ads-to-ionic-apps-using-admob-pro-plugin/

一个完整的演示中离子的$ ionicPlatform.ready()被调用

从代码中看起来没问题,它应该运行唯一必须确保的是AdMob.showInterstitial()不在循环中调用。

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

+0

谢谢,我能够得到它的工作。我知道它与原始问题无关,但我如何显示应用程序的插页式广告onResume,并且不会导致无限循环? – Jebs

+0

我刚刚在导航广告上添加了一个帖子http://pointdeveloper.com/how-to-add-interstitial-ads-on-navigation-to-ionic-framework-apps/ –

+0

你可以试试这个document.addEventListener( “resume”,function(){if(window.AdMob)AdMob.showInterstitial();},false); –