【发布时间】:2016-05-19 20:53:31
【问题描述】:
我已将AdMob Plugin Pro 添加到我的Phonegap 应用程序中。我按照示例代码并将以下代码放入我的应用程序主页:
function onDeviceReady() {
var admobid = {};
if( /(android)/i.test(navigator.userAgent) ) {
admobid = { // for Android
banner: 'ca-pub-{key hidden}'
interstitial: 'ca-pub-{key hidden}'
};
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {
admobid = { // for iOS
banner: 'ca-pub-{key hidden}'
interstitial: 'ca-pub-{key hidden}'
};
}
if(window.AdMob) AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:true} );
}
document.addEventListener('deviceready', onDeviceReady, false);
上面的代码有效,并且出现了一个插页式广告,但是当我尝试在另一个页面中再次调用 AdMob 时出现问题。我尝试了几种方法,但都没有奏效。
以下是我的应用的一些背景信息:
- 当用户单击链接时,我的应用程序将重新加载页面。比如用户在首页点击“设置”按钮,整个页面重新加载到“setting.html”
- 操作 DOM 和内容的脚本总是放在
<body>的最后一行
所以这是我尝试过的:
-
复制上面相同的
onDeviceReady()和addEventListner()并放入另一个页面。- 我发现第二页中没有再次触发 deviceready 事件。因此当然不会再次显示插页式广告。
-
只需将
AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:true}复制到新页面并在页面加载后执行- 我发现 AdMob 变成了
undefined
- 我发现 AdMob 变成了
所以我想知道我是错过了什么还是做错了什么?
谢谢!
【问题讨论】:
标签: javascript cordova admob phonegap-plugins cordova-admob