Javascript cordova admob插件正在工作,但存在未捕获的引用错误

Javascript cordova admob插件正在工作,但存在未捕获的引用错误,javascript,cordova,admob,ionic,Javascript,Cordova,Admob,Ionic,我的ionic/phonegap应用程序使用插件 admob在真实设备上运行良好,但我在查看chrome的控制台时发现了一个错误: Uncaught ReferenceError: AdMob is not defined 这是我的整个admob代码: var admobid = {}; if( /(android)/i.test(navigator.userAgent) ) { admobid = { banner: '', interstitial:

我的ionic/phonegap应用程序使用插件

admob
在真实设备上运行良好,但我在查看chrome的
控制台时发现了一个错误:

Uncaught ReferenceError: AdMob is not defined
这是我的整个
admob
代码:

var admobid = {};
if( /(android)/i.test(navigator.userAgent) ) {
    admobid = {
        banner: '',
        interstitial: ''
    };
}

if(( /(ipad|iphone|ipod|android|windows phone)/i.test(navigator.userAgent) )) {
    document.addEventListener('deviceready', initApp, false);
} else {
    initApp();
}

function initApp() {
    //Error here
    AdMob.createBanner( {
        adId: admobid.banner, 
        isTesting: false,
        overlap: false, 
        offsetTopBar: false, 
        position: AdMob.AD_POSITION.BOTTOM_CENTER//,
        //bgColor: 'yellow'
    } );

    //And here
    AdMob.prepareInterstitial({
        adId: admobid.interstitial,
        autoShow: true  //kalo mau bisa false, nanti panggil manual
    });
}
错误转到
AdMob.createBanner
AdMob.prepareInterstital

如果让它保持不变,这个错误安全吗?(因为
admob
工作正常)

有没有办法消除这个错误


非常感谢您的帮助

如果您不在移动环境中运行应用程序,您将收到此错误消息

 Uncaught ReferenceError: AdMob is not defined
admob
是一个cordova插件。因此它会在chrome的控制台中显示一个错误。 为了避免此错误,请执行以下操作

if(window.cordova) {
    var admobid = {};
    if (/(android)/i.test(navigator.userAgent)) {
        admobid = {
            banner: '',
            interstitial: ''
        };
    }

    if ((/(ipad|iphone|ipod|android|windows phone)/i.test(navigator.userAgent))) {
        document.addEventListener('deviceready', initApp, false);
    } else {
        initApp();
    }

    function initApp() {
        //Error here
        AdMob.createBanner({
            adId: admobid.banner,
            isTesting: false,
            overlap: false,
            offsetTopBar: false,
            position: AdMob.AD_POSITION.BOTTOM_CENTER //,
                //bgColor: 'yellow'
        });

        //And here
        AdMob.prepareInterstitial({
            adId: admobid.interstitial,
            autoShow: true //kalo mau bisa false, nanti panggil manual
        });
    }

}

谢谢

我做的最简单的事情就是从官方wiki获取代码并粘贴到一个新文件中,比如说
admob.js
;将
admob.js
包含到index.html和voilá中

var admobid = {};

// TODO: replace the following ad units with your own
if( /(android)/i.test(navigator.userAgent) ) { 
  admobid = { // for Android
    banner: 'ca-app-pub-7545761285767751/5125248421',
    interstitial: 'ca-app-pub-7545761285767751/8299040824'
  };
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {
  admobid = { // for iOS
    banner: 'ca-app-pub-7545761285767751/3766266425',
    interstitial: 'ca-app-pub-7545761285767751/9775774020'
  };
} else {
  admobid = { // for Windows Phone
    banner: 'ca-app-pub-7545761285767751/5205973626',
    interstitial: 'ca-app-pub-7545761285767751/6682706829'
  };
}

function initApp() {
  if (! AdMob ) { alert( 'admob plugin not ready' ); return; }

  // this will create a banner on startup
  AdMob.createBanner( {
    adId: admobid.banner,
    position: AdMob.AD_POSITION.BOTTOM_CENTER,
    isTesting: true, // TODO: remove this line when release
    overlap: false,
    offsetTopBar: false,
    bgColor: 'black'
  } );

  // this will load a full screen ad on startup
  AdMob.prepareInterstitial({
    adId: admobid.interstitial,
    isTesting: true, // TODO: remove this line when release
    autoShow: true
  });
}

if(( /(ipad|iphone|ipod|android|windows phone)/i.test(navigator.userAgent) )) {
    document.addEventListener('deviceready', initApp, false);
} else {
    initApp();
}

由于
AdMob
未在浏览器中定义,但可以与模拟器或真实设备配合使用,因此请进行相应的测试。

非常感谢您的帮助。我会试试你的代码,让你知道嗨,我用的是Cordova和Angular。当我尝试使用这个插件时,我的移动设备也会出现同样的错误。