Meteor app上未定义AdMob

时间:2015-02-18 18:58:02

标签: android cordova meteor admob

我有一个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对象,但无法找到它。

3 个答案:

答案 0 :(得分:4)

我可以确认您使用的插件正在运行。但你可能不应该使用tarball。请改用当前版本(2.7.4)。

试试这个。这对我使用iOS模拟器很有用。

  1. 删除使用meteor remove
  2. 安装的插件
  3. 使用版本号

    进行安装

    meteor add cordova:com.google.cordova.admob@2.7.4

  4. 运行simluator(使用Android,如果你没有Xcode)

    meteor run ios

  5. 然后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 ");
      }
    }
    

    enter image description here

答案 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