Javascript cordova admob插件正在工作,但存在未捕获的引用错误
我的ionic/phonegap应用程序使用插件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:
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。当我尝试使用这个插件时,我的移动设备也会出现同样的错误。