谷歌Admob没有使用cordova tabset示例显示广告?

时间:2014-11-04 15:25:16

标签: cordova admob cordova-admob

我使用基本的admob示例在我的cordova应用上显示横幅广告,但是没有广告出现或者它们可能出现但被另一个窗口遮挡。

以下是我使用的示例代码:

angular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // for form inputs)
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {
      // org.apache.cordova.statusbar required
      StatusBar.styleDefault();
    }
   var ad_units = {
       ios : {
           banner: 'ca-app-pub-XXXXXXXXXXXXXXXX/2259066653',
       },
       android : {
           banner: 'ca-app-pub-XXXXXXXXXXXXXXXX/2259066653',
       }
    };
       // select the right Ad Id according to platform
    var admobid = ( /(android)/i.test(navigator.userAgent) ) ? ad_units.android : ad_units.ios;

    // Nothing happens.....                          
    if(AdMob) AdMob.createBanner( admobid.banner );

  });
})

有没有人有过这方面的经验或者可以建议一些调试方法?

1 个答案:

答案 0 :(得分:3)

我正在使用https://github.com/appfeel/admob-google-cordova中的AdMob插件,我想从您的代码中可以看出这是您正在使用的插件。如果是这种情况,您有两种选择:

第一名:banner替换为publisherId,将admobid.banner替换为admobid。另外,出于测试目的,您应将isTesting设置为true,以防止您的帐户被Google阻止:

var ad_units = {
   ios : {
       publisherId: 'ca-app-pub-XXXXXXXXXXXXXXXX/2259066653',
       isTesting: true
   },
   android : {
       publisherId: 'ca-app-pub-XXXXXXXXXXXXXXXX/2259066653',
       isTesting: true
   }
};

// select the right Ad Id according to platform
var admobid = ( /(android)/i.test(navigator.userAgent) ) ? ad_units.android : ad_units.ios;                        
if (AdMob) {
  AdMob.createBanner(admobid);
}

第二名:您应该将.banner声明为内置广告配置的对象:

var ad_units = {
   ios : {
     banner: {
       publisherId: 'ca-app-pub-XXXXXXXXXXXXXXXX/2259066653',
       isTesting: true
     }
   },
   android : {
     banner: {
       publisherId: 'ca-app-pub-XXXXXXXXXXXXXXXX/2259066653',
       isTesting: true
     }
   }
};

// select the right Ad Id according to platform
var admobid = ( /(android)/i.test(navigator.userAgent) ) ? ad_units.android : ad_units.ios;                       
if (AdMob) {
  AdMob.createBanner(admobid.banner);
}

同样使用Ionic,我使用ionic.Platform.ready(function () { ... });代替$ionicPlatform对其进行了测试。否则,为了防止代码被缩小时出错,Angular建议以这种方式使用它(但如果你没有缩小代码,它不应该影响):

app.run(['$ionicPlatform', function ($ionicPlatform) {
  ...
}]);