【发布时间】:2017-03-17 10:44:15
【问题描述】:
我正在将一些较旧的 Phonegap 3 应用程序移至 build.phonegap.com 并使用 Phonegap 4 进行重建。到目前为止印象深刻,但下一个应用程序具有以前直接在 Java 文件中设置的 AdMob,所以我我正在尝试返工...
据我所知,最好的机制是 cordova-admobpro 插件,所以我添加了:
<plugin name="cordova-plugin-admobpro"/>
到 config.xml 。然后,我根据文档在 /body 之后添加了一个新的 JS 标记(也尝试在 body 内部,但在 cordova.js 标记之后,以及在 head 内部具有 defer 属性):
<script type="text/javascript" src="js/admob.js"></script>
最后,我根据各种示例构建了 admob.js:
var admobid = {};
if( /(android)/i.test(navigator.userAgent) ) {
admobid = { // for Android
banner: 'ca-app-pub-1111111111111111-1111111111',
interstitial: 'ca-app-pub-1111111111111111/1111111111'
};
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {
admobid = { // for iOS
banner: 'ca-app-pub-1111111111111111-1111111111',
interstitial: 'ca-app-pub-1111111111111111/1111111111'
};
} else {
admobid = { // for Windows Phone
banner: 'ca-app-pub-1111111111111111-1111111111',
interstitial: 'ca-app-pub-1111111111111111/1111111111'
};
}
function initApp() {
if(AdMob) {
// this will create a banner on startup
AdMob.createBanner( {
adId: admobid.banner,
position: AdMob.AD_POSITION.BOTTOM_CENTER,
overlap: false,
offsetTopBar: false,
bgColor: 'black'
} );
// this will load a full screen ad on startup
AdMob.prepareInterstitial({
adId: admobid.interstitial,
autoShow: true
});
}
}
if(( /(ipad|iphone|ipod|android|windows phone)/i.test(navigator.userAgent) )) {
document.addEventListener('deviceready', initApp, false);
} else {
initApp();
}
(显然横幅 ID 在实际应用中是真实的)
但这不起作用。当编译并安装到设备上时,我看不到启动广告或横幅广告。在浏览器中进行测试和代码检查是没有用的,因为在 config.xml 中的插件引用被编译之前,AdMob 不会存在。
我是否遗漏了一些非常明显的东西?
【问题讨论】:
-
原来插页式广告现在可以工作了,尽管我根本没有做任何改变。这是在 Admob 面板中设置的新广告块,因此可能只是激活延迟。然而,横幅广告仍然没有出现。
-
会不会是因为UI使用了jQueryMobile?如果使用 jQueryMobile,我没有发现任何提示需要应用额外步骤的信息...
标签: javascript android cordova admob phonegap-build