2015-02-03 4 views
5

У меня возникают проблемы с работой рекламы. Я не могу рвать мой мозг вокруг, почему он не работает. Я установил следующие плагины:AdMob не загружает объявления в ионном/угловом приложении

com.google.playservices 19.0.0 "Сервисы Google Play для Android" com.rjfun.cordova.plugin.admob 2.1.7 "AdMob" Я использовал этот учебник : https://blog.nraboy.com/2014/06/using-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'); 
 
       } 
 
      ); 
 
     } 
 
    }); 
 
});

Это приводит к черной области баннера в нижней части O в приложении, однако ни одно объявление не загружается. Этот код в настоящее время жив, на сайте admob я вижу пару сотен сессий. Тем не менее, мои впечатления и число оборотов в обратном порядке равны нулю в течение пары дней. Кто-нибудь может понять, что может быть неправильным?

+2

Вы можете найти другой учебник для com.admob.google плагина здесь: https://github.com/appfeel/admob-google-cordova/wiki/Angular.js,-Ionic-apps – Miquel

+0

@Ron: сделали вам удастся это решить в конце концов? – Nikola

+0

Вы решили. У меня такая же проблема. В моем случае я вообще не вижу баннера. –

ответ

0

У меня была та же проблема. На самом деле версия плагина AdMob в сообщении в блоге больше не поддерживается, вам нужно использовать новую версию cordova-admob-pro, которая отлично работает со всеми версиями Android и версиями iOS.

Вот блог о том, как использовать новую версию:

http://redwanhilali.com/ionic-admob-integration/

Я надеюсь, что это помогает.

+0

Где находится сообщение в блоге? – markdesign

+0

вот это http://redwanhilali.com/ionic-admob-integration/ – RedhopIT

0

Я являюсь автором плагина, который вы используете. Пожалуйста, перейдите на про версию:

cordova plugin add com.google.cordova.admob 

Или (если вы используете CLI Cordova v5.x),

cordova plugin add cordova-plugin-admobpro 

Вот рабочая демо с помощью Cordova-плагин-admobpro в рамках Ионные APP : https://github.com/floatinghotpot/admob-demo-app-ionic

Предлагайте:

  1. Выполните команды в ссылке, чтобы построить рабочая демонстрация;
  2. Посмотрите на содержание в демонстрационном/папку и проверить JS файл/admob.js

https://github.com/floatinghotpot/admob-demo-app-ionic/blob/master/demo/js/admob.js

Вы даже можете напрямую скопировать этот файл в ваш проект, а затем ссылаться на ваш index.html:

<script src="js/admob.js"></script> 

Как это демо index.html: https://github.com/floatinghotpot/admob-demo-app-ionic/blob/master/demo/index.html#L21

8

Я также провел 2 дней, чтобы заставить его работать. После прочтения большого количества документов я наконец-то работал. Ниже код работал для меня. Я написал подробное сообщение в блоге и загрузку рабочего кода, а также рабочий apk.Read Here ИЛИ следовать ниже шагов (я предполагаю, что у вас уже есть идентификатор издателя и все другие вещи)

1) Установить AdMob плагин

ionic plugin add cordova-admob 

2) Включите angular-admob.js файл

<script src="lib/angular-admob/angular-admob.js"></script> 

3) Вызвать тело функция onload для начала admob

<body ng-app="starter" onload="runads()"> 

4) Положить бель ow в нижней части страницы (не забудьте заменить свой идентификатор издателя на «ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIIIII»). Он работает только на мобильных устройствах, а не в браузере ПК. Когда приложение начнет ждать 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> 
+0

Спасибо, это сработало отлично для меня – David

+0

Спасибо, что сработало и для меня. Но размер моего приложения увеличивается на 3 МБ после установки плагина cordova-admob. Есть ли способ уменьшить его. –

1

Raymond прав, я использовал следующий код, чтобы установить плагин

> Ionic plugin add cordova-plugin-admobpro 

Примечание: Пожалуйста, обновите CLI Cordova до версии 5

Открыть app.js и просто вставьте следующий код внутри .run способ и сделано!

var admobid = {}; 

// select the right Ad Id according to platform 

if(/(android)/i.test(navigator.userAgent)) { 
    admobid = { // for Android 
     banner: 'ca-app-pub-3940256099942544/6300978111', 
     interstitial: 'ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN' 
    }; 
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) { 
    admobid = { // for iOS 
     banner: 'ca-app-pub-3940256099942544/6300978111', 
     interstitial: 'ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN' 
    }; 
} else { 
    admobid = { // for Windows Phone 
     banner: 'ca-app-pub-3940256099942544/6300978111', 
     interstitial: 'ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN' 
    }; 
} 

if(window.AdMob) AdMob.createBanner({ 
    adId:admobid.banner, 
    isTesting: true, 
    position:AdMob.AD_POSITION.BOTTOM_CENTER, 
    autoShow:true}); 

if(window.AdMob) AdMob.prepareInterstitial({ 
    adId:admobid.interstitial, 
    autoShow:true}); 

Не забудьте установить «IsTesting ложь» при развертывании вашего приложения в магазине.

Смежные вопросы