我正在尝试在我的phonegap应用程序中添加Admob,但他不能正常工作,我不知道为什么:/
function domLoaded(){
alert("loaded");
var IS_APP = document.URL.indexOf( 'http://' ) === -1 && document.URL.indexOf( 'https://' ) === -1;
var ad_units = {
ios : {
banner: 'ca-app-pub-6944053263628084/2993763855', // votre référence fournie par AdMob pour cette application
interstitial: 'ca-app-pub-6944053263628084/5947230254' // votre référence fournie par AdMob pour cette application
},
android : {
banner: 'ca-app-pub-6944053263628084/9994470251', // votre référence fournie par AdMob pour cette application
interstitial: 'ca-app-pub-6944053263628084/3947936653' // votre référence fournie par AdMob pour cette application
}
};
// le code s'adapte en fonction de la platforme
var admobid = ( /(android)/i.test(navigator.userAgent) ) ? ad_units.android : ad_units.ios;
if(IS_APP && AdMob) { // on vérifie que c'est un mobile et que AdMob est bien chargé
if(Math.floor(Math.random()*5) === 1) { // 1 fois sur 5 on affiche l'interstitial
AdMob.prepareInterstitial( {
adId:admobid.interstitial,
autoShow:true}
);
}
else {
AdMob.createBanner( { // 4 fois sur 5 la bannière
adId:admobid.banner,
position:AdMob.AD_POSITION.BOTTOM_CENTER,
autoShow:false,
overlap:true}
);
}
}
//AdMob.showInterstitial(); // pour afficher la pub interstitial précédemment chargée
// pour afficher la bannière publicitaire précédemment chargée
//AdMob.hideBanner();
AdMob.showBanner();
}
function showBanner(){
}
这是我的'Pub.js'
当我调用domLoaded()时,警报(“已加载”)工作正常$(document).ready(function(){
domLoaded();
});
我制作了“phonegap local plugin add.admob.google”
我已经拥有了 在我的config.xml中
答案 0 :(得分:1)
我测试了这个插件的很多不同的集成,它终于在昨天工作了。 我正在使用Cordova和Ionic Framework以及ngCordova(AngularJS),但它可以在普通的cordova安装中使用:)
我的解决方案: 1 - 按照以前的方式安装插件,例如使用CLI,然后只需:
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCordova'])
.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) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
/* Admob stuff */
if(AdMob) AdMob.createBanner( {
adId: 'ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxx',
position: AdMob.AD_POSITION.BOTTOM_CENTER,
autoShow: true }
);
});
})
这是我的app.js文件的开头。在Admob评论下的这几行是足够的:)它只是关于离子结构。 请记住尝试使用真实设备或模拟器。
答案 1 :(得分:1)
是的,我可以像这样添加广告代码
function adSetter(){
alert(navigator.userAgent);
var admobid = {};
// select the right Ad Id according to platform
if( /(android)/i.test(navigator.userAgent) ) {
admobid = { // for Android
banner: 'ca-app-pub-6869992474017983/9375997553',
interstitial: 'ca-app-pub-6869992474017983/1657046752'
};
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {
admobid = { // for iOS
banner: 'ca-app-pub-6869992474017983/4806197152',
interstitial: 'ca-app-pub-6869992474017983/7563979554'
};
} else {
admobid = { // for Windows Phone
banner: 'ca-app-pub-6869992474017983/8878394753',
interstitial: 'ca-app-pub-6869992474017983/1355127956'
};
}
if(AdMob) AdMob.createBanner( {
adId:admobid.banner,
position:AdMob.AD_POSITION.BOTTOM_CENTER,
autoShow:true} );
}
function onDeviceReady(){
alert("device ready");
adSetter();
}
function domLoaded(){
document.addEventListener("deviceready", onDeviceReady, false);
}
代码从下到上。 我已经使用警报来轻松地在设备上进行测试
这里有完整的资料来源:
http://pointdeveloper.com/how-to-add-banner-ads-to-phonegap-apps-using-admob-pro-plugin/
答案 2 :(得分:0)
确保执行onDeviceReady下的代码。
完成实施:
<html><head><title>Device Ready Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
function onDeviceReady() {
// Now safe to use device APIs
domLoaded();
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
谢谢, 马丹
答案 3 :(得分:0)
从您粘贴的javascript代码中,我猜您尝试使用我的AdMob插件:https://github.com/floatinghotpot/cordova-admob-pro
然后你的命令“phonegap local plugin add.admob.google”是错误的。
有效的admob插件ID是“com.google.cordova.admob”或“cordova-plugin-admobpro”,使用Cordova CLI是更好的选择。
因此,添加插件的有效命令是:
cordova plugin add com.google.cordova.admob
或者(如果Cordova v5.0 +,插件注册表正在迁移到npm,并且插件名称规则已更改):
cordova plugin add cordova-plugin-admobpro
使用此插件时出现任何问题,请在GitHub的项目主页中创建问题跟踪器。我很乐意帮忙。