不显示插页式广告
Posted
技术标签:
【中文标题】不显示插页式广告【英文标题】:Interstitial Ad doesn't appear 【发布时间】:2016-12-01 17:09:08 【问题描述】:我不能用插页式添加做一个简单的 html 页面。我是编程新手,我不知道这段代码有什么问题。我正在用phonegap做一个应用程序。我还在我的 config.xml 中添加了 <gap:plugin name="com.admob.plugin" version="3.0.0" source="plugins.cordova.io" />
。请帮忙。这就是我已经拥有的:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
function showInterstitial()
admob.isInterstitialReady(function(isReady)
if(isReady)
admob.showInterstitial();
else
alert("need cached before show");
);
function onInterstitialReceive (message)
alert("onMInterstitialReceive ,you can show it now");
function onReceiveFail (message)
var msg=admob.Error[message.data];
if(msg==undefined)
msg=message.data;
alert("load fail: "+message.type+" "+msg);
function onDeviceReady()
admob.initAdmob("ca-app-pub-5461976332457981/1789654352","ca-app-pub-5461976332457981/7220849555");
document.addEventListener(admob.Event.onInterstitialReceive, onInterstitialReceive, false);
document.addEventListener(admob.Event.onInterstitialFailedReceive,onReceiveFail, false);
document.addEventListener('deviceready',onDeviceReady, false);
</script>
</body>
</html>
【问题讨论】:
【参考方案1】:使用新的插件规范(用连字符代替点):
<gap:plugin name="phonegap-admob" source="npm"/>
那么您的代码应该是这样的(您还可以在此处查看有关如何每 2 分钟自动显示插页式广告的示例:https://github.com/appfeel/admob-google-cordova/wiki/setOptions):
var isAppForeground = true;
var isInterstitialAvailable = false;
function onAdLoaded(e)
if (isAppForeground && e.adType === admob.AD_TYPE.INTERSTITIAL)
isInterstitialAvailable = true;
function onAdOpened(e)
if (isAppForeground && e.adType === admob.AD_TYPE.INTERSTITIAL)
isInterstitialAvailable = false;
admob.requestInterstitialAd(); // Request next interstitial
function onPause()
if (isAppForeground)
admob.destroyBannerView();
isAppForeground = false;
isInterstitialAvailable = false;
function onResume()
if (!isAppForeground)
setTimeout(admob.createBannerView, 1);
setTimeout(admob.requestInterstitialAd, 1);
isAppForeground = true;
function registerAdEvents()
document.addEventListener(admob.events.onAdLoaded, onAdLoaded);
document.addEventListener(admob.events.onAdOpened, onAdOpened);
document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);
function initAds()
var ids =
ios :
banner : "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB",
interstitial : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII"
,
android :
banner : "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB",
interstitial : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII"
;
var admobid = (/(android)/i.test(navigator.userAgent)) ? ids.android : ids.ios;
admob.setOptions(
publisherId: admobid.banner,
interstitialAdId: admobid.interstitial,
autoShowInterstitial: false,
isTesting: true // False on production apps
);
registerAdEvents();
function onDeviceReady()
document.removeEventListener('deviceready', onDeviceReady, false);
if (window.admob)
initAds();
admob.createBannerView(); // display a banner at startup
admob.requestInterstitialAd(); // cache an interstitial
else
alert('Admob plugin not ready');
document.addEventListener("deviceready", onDeviceReady, false);
function showInterstitial()
if (isInterstitialAvailable)
admob.showInterstitialAd();
else
console.log('Interstitial is not yet available');
【讨论】:
以上是关于不显示插页式广告的主要内容,如果未能解决你的问题,请参考以下文章
Facebook Audience Network 插页式广告未显示
RecycleViewerAdapter 未完美显示 admob 插页式广告