我有一个 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 对象,但找不到。
最佳答案
我可以确认您使用的插件可以正常工作。但是您可能不应该使用 tarball。请改用当前版本 (2.7.4)。
试试这个。这对我使用 iOS 模拟器很有效。
- 删除您使用
meteor remove
安装的插件 安装版本号
meteor 添加 cordova:com.google.cordova.admob@2.7.4
运行模拟器(如果您没有 Xcode,请使用 Android 模拟器)
meteor 奔跑 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 ");
}
}
关于android - AdMob 未在 Meteor 应用程序上定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28591689/