我正在尝试使用无cordova-plugin-admob-free在我的HTML5游戏中实现插页广告。
我按如下方式使用它:
var ADMOB_AndroidID = (my Admob ID here);
var ADMOB_iOSID = "";
var ADMOB_WindowsID = "";
document.addEventListener( 'deviceready', initAdmob );
function initAdmob() {
var admobid = {};
if ( /(android)/i.test(navigator.userAgent) ) { // for android & amazon-fireos
admobid = {
banner: ADMOB_AndroidID,
interstitial: ADMOB_AndroidID
};
} else if ( /(ipod|iphone|ipad)/i.test(navigator.userAgent) ) { // for ios
admobid = {
banner: ADMOB_iOSID,
interstitial: ADMOB_iOSID
};
} else { // for windows phone
admobid = {
banner: ADMOB_WindowsID,
interstitial: ADMOB_WindowsID
};
}
admob.interstitial.config({
id: admobid.interstitial,
isTesting: true,
autoShow: false
})
admob.interstitial.prepare();
document.addEventListener('admob.interstitial.events.CLOSE', function(event) {
admob.interstitial.prepare();
} );
}
然后,游戏结束后,我打电话
admob.interstitial.show();
当我在Android模拟器(或真实设备)上运行它时,游戏结束且Chrome调试器显示以下内容时,没有任何反应:
Uncaught (in promise) Interstital not ready yet
那我在做什么错了?
编辑:添加了Chrome控制台的屏幕截图
我的控制台显示了此信息(我在插页式广告的LOAD_FAIL上添加了事件监听器之后):
答案 0 :(得分:0)
它无需我进行任何更改即可开始工作。显然,广告单元在创建后需要一段时间(很长时间)才能生效。因此上面的代码有效。
还有一个提示:我首先犯了一个错误,即使用我的 App ID 而不是广告单元ID 。如果您的ID使用代字号(〜)而不是斜杠(/),则您正在使用您的App ID。登录到您的AdMob帐户,创建一个广告单元,然后使用其ID。
答案 1 :(得分:0)
也有这个。
意识到我从未打电话给
admob.interstitial.prepare();
添加后,一切正常。