我有一个Meteor(v1.0.3.1)应用程序并安装了这样的AdMob Cordova插件:
meteor add cordova:com.google.cordova.admob@https://github.com/floatinghotpot/cordova-admob-pro/tarball/94a31660d1bb35337e3430e2608b7710ea4d882a
使用以下代码作为文档建议:
if(Meteor.isCordova){
admobid = {
banner: 'ca-app-pub-xxxxxxxxxxxxxxxxxxx'
};
if(AdMob){
AdMob.createBanner( {
adId: admobid.banner,
position: AdMob.AD_POSITION.BOTTOM_CENTER,
autoShow: true
});
}
}
在插入我的Android手机的情况下,使用meteor run android-device
启动了该应用。
堆栈跟踪中出现以下错误:
Uncaught ReferenceError: AdMob is not defined
我在窗口和其他地方寻找AdMob对象,但无法找到它。
答案 0 :(得分:4)
我可以确认您使用的插件正在运行。但你可能不应该使用tarball。请改用当前版本(2.7.4)。
试试这个。这对我使用iOS模拟器很有用。
meteor remove
使用版本号
进行安装 meteor add cordova:com.google.cordova.admob@2.7.4
运行simluator(使用Android,如果你没有Xcode)
meteor run ios
然后AdMob变量应该可用。至少是我试过的时候。
<强>更新强>
该插件也适用于Android。
`meteor run android`
另外,请确保您的代码位于Meteor.startup()
,以确保Cordova插件可用。
Meteor.startup(function () {
if (Meteor.isCordova) {
if (AdMob) {
AdMob.createBanner( {
adId: 'ca-app-pub-3080070244198226/2109901818',
position: AdMob.AD_POSITION.BOTTOM_CENTER,
isTesting: true,
autoShow: true,
success: function() {
console.log("Received ad");
},
error: function() {
console.log("No ad received");
}
});
} else {
console.log("No Admob");
}
} else {
console.log("No Cordova ");
}
}
答案 1 :(得分:3)
我建议您尝试使用其他插件:
meteor add cordova:com.admob.google@https://github.com/appfeel/admob-google-cordova/tarball/f3851132148aae4c600563d4124cc875c8c5f73e
然后在你的代码中:
if(Meteor.isCordova){
if(admob){
admob.createBannerView({publisherId: "ca-app-pub-xxxxxxxxxxxxxxxxxxx"});
}
}
答案 2 :(得分:0)
Meteor的安全性升级v1.0.4。您需要将网站的正则表达式添加到您的移动配置文件中以获取Google sdk。否则,如果你没有,你会在x-code的日志中看到白名单错误。
我用它来获取sdk。 App.accessRule( '*:// googleads.g.doubleclick.net ');
来自meteor的参考资料告诉你有关升级的信息。 https://www.meteor.com/blog/2015/03/17/meteor-104-mongo-cordova-template-subscriptions