2015-05-26 32 views
0

我尝试添加AdMob将在我的PhoneGap的应用程序,但他不工作,我不知道为什么:/AdMob联播的PhoneGap不起作用

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本地插件add.admob.google”

,我的config.xml中有

+0

可能重复http://stackoverflow.com/questions/30469049/admob-integration- for-phonegap-doesnt-show-the-advertise – Miquel

+0

有效的admob插件ID是:com.google.cordova.admob,您可以直接将示例index.html复制到您的www /测试:https:// github。 com/floatinghotpot/cordova-admob-pro/blob/master/test/index.html –

回答

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> 

感谢, 马丹

+0

与$(document).ready(function(){ domLoaded(); }); ?? – Raph

+0

不,它不一样。 deviceready中的代码确保Cordova的设备API已加载并准备访问。 – madansingh18

0

从粘贴的JavaScript代码,我猜你正在尝试使用自己的AdMob插件:https://github.com/floatinghotpot/cordova-admob-pro

,您的命令“的PhoneGap本地插件add.admob.google“是错误的。

有效的admob插件ID是“com.google.cordova.admob”或“cordova-plugin-admobpro”,使用Cordova CLI是更好的选择。

因此,有效的命令添加插件是:

cordova plugin add com.google.cordova.admob 

或(若科尔多瓦V5.0 +,插件注册表被迁移到NPM和插件名称规则已经改变):

cordova plugin add cordova-plugin-admobpro 

使用此插件时出现任何问题,请在GitHub的项目主页中创建问题跟踪器。我会很乐意提供帮助。

1

我测试了很多这个插件的不同集成,它终于在昨天工作。 我使用的科尔多瓦与离子框架和ngCordova(AngularJS)normaly但它会在一个正常的科尔多瓦安装:)工作

我的解决办法: 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

是的,我可以加入广告代码,像这样

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/