2015-09-14 135 views
-1

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

你能否提供一段代碼來顯示代碼的調用方式? –

回答

0

我看你已經混了一下代碼。當科爾多瓦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); –