1

我的 app.js :

$ionicPlatform.ready(function() {
   var admobid = {};
    // select the right Ad Id according to platform
    if( /(android)/i.test(navigator.userAgent) ) { 
        admobid = { // for Android
            interstitial: 'ca-app-pub-3940256099942544/1033173712'
        };
    } else {
        admobid = { // for Windows Phone
            interstitial: 'ca-app-pub-3940256099942544/1033173712'
        };
    }

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

我的控制器.js:

.controller('ChatsCtrl', function($scope, Chats) {


  $scope.$on('$ionicView.beforeEnter', function(e) {
    if (window.AdMob) AdMob.showInterstitial();
  });

  $scope.$on('$ionicView.beforeLeave', function(e) {
    if (window.AdMob) AdMob.showInterstitial();
  });

})

我正在为 android 构建一个 ionic 框架应用程序,我需要为其添加一个插页式广告,它应该在用户进入聊天选项卡时运行。

这是我的代码,我从http://pointdeveloper.com/how-to-add-interstitial-ads-on-navigation-to-ionic-framework-apps/复制了大部分代码。

我用自己的钥匙更换了interstitial: 'ca-app-pub-3940256099942544/1033173712'零件,但没有用。哪里有问题?

(我正在我的 android 手机(Nexus 5)和 Genymotion android 模拟器中测试它)

4

1 回答 1

1

调用插页式广告的内部生命周期requestInterstitialAd如下,您可以在此处阅读更多内容:https ://github.com/appfeel/admob-google-cordova/wiki/requestInterstitialAd

requestInterstitialAd();
options.autoShowInterstitial == true ? showInterstitial : raise(admob.events.onAdLoaded)

因此,如果您设置options.autoShowInterstitial = true了 ,那么它应该会自动显示,否则,您应该调用admob.requestInterstitialAd并等待admob.events.onAdLoadedwithatType === 'interstitial'被提出。然后你应该做类似的事情:

document.addEventListener(admob.events.onAdLoaded, function (e) {
    if (e.adType === admob.AD_TYPE.INTERSTITIAL) {
        admob.showInterstitialAd();
    }
});
于 2016-06-20T09:08:17.503 回答