我使用基本的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 );
});
})
有没有人有过这方面的经验或者可以建议一些调试方法?
答案 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) {
...
}]);