Ron*_*Ron 5 android admob angularjs cordova ionic-framework
我在制作广告时遇到了一些问题.我无法说清楚为什么它不起作用.我安装了以下插件:
com.google.playservices 19.0.0"适用于Android的Google Play服务"com.rjfun.cordova.plugin.admob 2.1.7"AdMob"我使用过本教程:https://blog.nraboy.com/2014/ 06 /使用-的AdMob-ionicframework/1
这是我在apps.js中的代码:
.run(function ($ionicPlatform) {
$ionicPlatform.ready(function () {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
// select the right Ad Id according to platform
if (window.plugins && window.plugins.AdMob) {
var admob_key = "ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx";
var admob = window.plugins.AdMob;
admob.createBannerView(
{
'publisherId': admob_key,
'adSize': admob.AD_SIZE.BANNER,
'bannerAtTop': false
},
function () {
admob.requestAd(
{'isTesting': false},
function () {
admob.showAd(true);
},
function () {
console.log('failed to request ad');
}
);
},
function () {
console.log('failed to create banner view');
}
);
}
});
});
Run Code Online (Sandbox Code Playgroud)
这会在应用底部生成黑色横幅区域,但不会加载任何广告.这段代码目前正在使用,在admob网站上我可以看到几百个会话.但是,我的印象和请求rpm现在都是零几天.有人知道可能有什么问题吗?
我也花了两天的时间来使它工作,在阅读了很多文档之后我终于开始工作了.下面的代码对我有用.我还写了详细的博客文章和工作代码下载以及工作apk.阅读此处或按照以下步骤(我假设您已经拥有发布者ID和所有其他内容)
1)安装admob插件
ionic plugin add cordova-admob
Run Code Online (Sandbox Code Playgroud)
2)包含angular-admob.js
文件
<script src="lib/angular-admob/angular-admob.js"></script>
Run Code Online (Sandbox Code Playgroud)
3)调用body onload函数到init admob
<body ng-app="starter" onload="runads()">
Run Code Online (Sandbox Code Playgroud)
4)将下面的代码放在页面底部(别忘了用'ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII'替换你的发布者ID).它仅适用于移动设备,而不适用于PC浏览器.应用开始后,等待20-25秒加载广告.
<script type="text/javascript">
function runads(){
document.addEventListener("deviceready", onDeviceReady, false);
}
function initAds() {
if (admob) {
var adPublisherIds = {
ios : {
banner : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII"
},
android : {
banner : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII",
interstitial : "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII"
}
};
var admobid = (/(android)/i.test(navigator.userAgent)) ? adPublisherIds.android : adPublisherIds.ios;
admob.setOptions({
publisherId: admobid.banner,
interstitialAdId: admobid.interstitial,
tappxIdiOs: "/XXXXXXXXX/Pub-XXXX-iOS-IIII",
tappxIdAndroid: "/XXXXXXXXX/Pub-XXXX-Android-AAAA",
tappxShare: 0.5
});
registerAdEvents();
} else {
alert('AdMobAds plugin not ready');
}
}
function onAdLoaded(e) {
if (e.adType === admob.AD_TYPE.INTERSTITIAL) {
admob.showInterstitialAd();
showNextInterstitial = setTimeout(function() {
admob.requestInterstitialAd();
}, 2 * 60 * 1000); // 2 minutes
}
}
// optional, in case respond to events
function registerAdEvents() {
document.addEventListener(admob.events.onAdLoaded, onAdLoaded);
document.addEventListener(admob.events.onAdFailedToLoad, function (e) {});
document.addEventListener(admob.events.onAdOpened, function (e) {});
document.addEventListener(admob.events.onAdClosed, function (e) {});
document.addEventListener(admob.events.onAdLeftApplication, function (e) {});
document.addEventListener(admob.events.onInAppPurchaseRequested, function (e) {});
}
function onDeviceReady() {
document.removeEventListener('deviceready', onDeviceReady, false);
initAds();
// display a banner at startup
admob.createBannerView();
// request an interstitial
admob.requestInterstitialAd();
}
</script>
Run Code Online (Sandbox Code Playgroud)
我遇到过同样的问题。事实上,博客文章中的 AdMob 插件版本不再受支持,您必须使用新的 cordova-admob-pro,它也适用于所有 Android 版本和 iOS 版本。
这里有一篇关于如何使用新版本的博客文章:
http://redwanhilali.com/ionic-admob-integration/
我希望它有帮助。
归档时间: |
|
查看次数: |
5179 次 |
最近记录: |