问题描述
我试图在我的应用程序中显示admob,但它不会显示在屏幕上。
我添加了它的插件: - cordova插件添加com.rjfun.cordova。 plugin.admob
cordova plugin add
这里是我的代码,我在我的app.js类下运行函数: -
$ ionicPlatform .ready(function(){if(window.plugins&& window.plugins.AdMob){alert('inside'); var admob_key = device.platform ==Android?ca-app-pub-6869992474017983/4748283957:IOS_PUBLISHER_KEY; var admob = window.plugins.AdMob; admob .createBannerView({'adId':admob_key,'position':admob .AD_POSITION.BOTTOM_CENTER,'adSize':admob.AD_SIZE.BANNER,'bannerAtTop':false},function(){admob .requestAd({'isTesting':false},function(){admob .showAd(true); },function(){alert(failed to request ad); console .log('failed to request ad'); }); },function(){alert(无法创建横幅视图); console .log('failed to create banner view'); }); } else {alert(AdMob plugin not available / ready。); }
>
1)
2)
请提供
感谢
解决方案在最新版本的Admob和nraboy的博客之间改变。我注意到几个星期后,当我使用插件,在我检查插件.js文件以找出更改后的以下差异:
- Admob不再位于
window.plugins.Admob
下找到 window.Admob
- 配置选项
publisherId
现在 adId
- 配置选项
bannerAtTop
现在位置
-
admob.createBannerView ()
现在只是 admob.createBanner()
它会为你做所有的工作,当谈到显示添加调用 admob.requestAd()
)等。
if(window.AdMob){
var admob = window.AdMob;
admob.createBanner({
adId:admob_key,
adSize:admob.AD_SIZE.SMART_BANNER,
position:admob.AD_POSITION.BOTTOM_CENTER,
isTesting:false, / Live
// isTesting:true,// Test
autoShow:true
},function(data){
console.log('Banner created ...'+ angular .toJson(data));
},function(err){
console.log('无法创建横幅视图...'+ angular.toJson(err));
} );
} else {
// plugin not found
}
其他信息
如果您不知道其他AD_SIZE和AD_POSITION选项(从插件.js文件复制)
.AD_POSITION = {
NO_CHANGE:0,
TOP_LEFT:1,
TOP_CENTER:2,
TOP_RIGHT:3,
LEFT:4,
CENTER:5,
RIGHT:6,
BOTTOM_LEFT:7,
BOTTOM_CENTER:8,
BOTTOM_RIGHT:9,
POS_XY:10
};
.AD_SIZE = {
SMART_BANNER:'SMART_BANNER',
BANNER:'BANNER',
MEDIUM_RECTANGLE:'MEDIUM_RECTANGLE',
FULL_BANNER:'FULL_BANNER ',
LEADERBOARD:'LEADERBOARD',
SKYSCRAPER:'SKYSCRAPER'
};
i am trying to display admob inside my application but it's not getting displayed on screen.
I added its plugins :- cordova plugin add com.rjfun.cordova.plugin.admobcordova plugin add https://github.com/floatinghotpot/cordova-plugin-admob.git
here is my code which i have done in my app.js class under run function :-
$ionicPlatform
.ready(function() {
if (window.plugins && window.plugins.AdMob) {
alert('inside');
var admob_key = device.platform == "Android" ? "ca-app-pub-6869992474017983/4748283957" : "IOS_PUBLISHER_KEY";
var admob = window.plugins.AdMob;
admob
.createBannerView({
'adId': admob_key,
'position': admob.AD_POSITION.BOTTOM_CENTER,
'adSize': admob.AD_SIZE.BANNER,
'bannerAtTop': false
},
function() {
admob
.requestAd({
'isTesting': false
},
function() {
admob
.showAd(true);
},
function() {
alert("failed to request ad");
console
.log('failed to request ad');
});
},
function() {
alert("failed to create banner view");
console
.log('failed to create banner view');
});
} else {
alert("AdMob plugin not available/ready.");
}
links from which i refer above code :-
1) https://blog.nraboy.com/2014/06/using-admob-ionicframework/
2) https://github.com/floatinghotpot/cordova-admob-pro
Please provide me any suggestion on it.
Thanks
解决方案 Some things have changed between the latest version of Admob and that in the blog by nraboy. I noticed the following differences a few weeks back when I used the plugin after I inspected the plugins .js file to figure out the changes:
- Admob was no longer located under
window.plugins.Admob
I found it under window.Admob
- Config option
publisherId
is now adId
- Config option
bannerAtTop
is now position
admob.createBannerView()
is now just admob.createBanner()
which does all the work for you when it comes to showing the add (you don't need to call admob.requestAd()
) etc.
Template to follow
if (window.AdMob) {
var admob = window.AdMob;
admob.createBanner({
adId: admob_key,
adSize: admob.AD_SIZE.SMART_BANNER,
position: admob.AD_POSITION.BOTTOM_CENTER,
isTesting: false, //Live
//isTesting: true, //Test
autoShow: true
}, function (data) {
console.log('Banner created... ' + angular.toJson(data));
}, function (err) {
console.log('Failed to create banner view... ' + angular.toJson(err));
});
} else {
//plugin not found
}
Additional Info
In case you aren't aware of other AD_SIZE and AD_POSITION options (copied from the plugins .js file)
.AD_POSITION = {
NO_CHANGE: 0,
TOP_LEFT: 1,
TOP_CENTER: 2,
TOP_RIGHT: 3,
LEFT: 4,
CENTER: 5,
RIGHT: 6,
BOTTOM_LEFT: 7,
BOTTOM_CENTER: 8,
BOTTOM_RIGHT: 9,
POS_XY: 10
};
.AD_SIZE = {
SMART_BANNER: 'SMART_BANNER',
BANNER: 'BANNER',
MEDIUM_RECTANGLE: 'MEDIUM_RECTANGLE',
FULL_BANNER: 'FULL_BANNER',
LEADERBOARD: 'LEADERBOARD',
SKYSCRAPER: 'SKYSCRAPER'
};
这篇关于AdMob无法在设备离线时显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!