Плагин PhoneGap Cordova Admob не работает

Я использую этот плагин AdMob (https://github.com/rajpara11/phonegap-plugins/tree/master/Android/AdMobPlugin), чтобы показывать рекламу AdMob на Android. Я не получаю никакой рекламы, и большая (25%) область экрана внизу белая. Я получаю эту ошибку «CordovaLog (275): TypeError: Результат выражения «window.plugins» [undefined] не является объектом». в моем журнале Aptana/Eclipse при работе в эмуляторе.

В настройке документации говорится, что нужно поместить «Jar плагина AdMob Cordova внутрь libs/». Есть только файл .Java. Должен ли я скомпилировать это в файл JAR и поместить в эту папку? Есть ли какие-нибудь туториалы, показывающие, как работает этот плагин?

заранее спасибо


person AndreaC    schedule 19.03.2013    source источник


Ответы (3)


Убедитесь, что вы добавили ссылки на Phonegap/Cordova перед ссылками на подключаемый модуль AdMob, так как это зависит от него.

Вы можете посмотреть этот видео-учебник по использованию подключаемых модулей PhoneGap: http://www.youtube.com/watch?v=84jmuXS8GJI

Удачи!

person silverchair    schedule 28.05.2013

Исправил, закомментировав эту строку в коде:

Тестирование: правда

person CarlGammaSagan    schedule 13.02.2015

Попробуйте другой плагин, так как этот плагин не работает. Я знаю, что это работает

https://github.com/sunnycupertino/cordova-plugin-admob-simple

cordova plugin add cordova-plugin-admob-simple

Интеграция выглядит следующим образом:

-Добавьте следующие функции javascript, добавьте свой собственный рекламный код, поэкспериментируйте с переменными, если хотите.

-Вызовите initAd() из onDeviceReady() и showBannerFunc() и showInterstitialFunc() для показа рекламы.

//initialize the goodies
function initAd(){
        if ( window.plugins && window.plugins.AdMob ) {
            var ad_units = {
                ios : {
                    banner: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx',       //PUT ADMOB ADCODE HERE
                    interstitial: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx'  //PUT ADMOB ADCODE HERE
                },
                android : {
                    banner: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx',       //PUT ADMOB ADCODE HERE
                    interstitial: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx'  //PUT ADMOB ADCODE HERE
                }
            };
            var admobid = ( /(android)/i.test(navigator.userAgent) ) ? ad_units.android : ad_units.ios;

            window.plugins.AdMob.setOptions( {
                publisherId: admobid.banner,
                interstitialAdId: admobid.interstitial,
                adSize: window.plugins.AdMob.AD_SIZE.SMART_BANNER,  //use SMART_BANNER, BANNER, IAB_MRECT, IAB_BANNER, IAB_LEADERBOARD
                bannerAtTop: false, // set to true, to put banner at top
                overlap: true, // banner will overlap webview 
                offsetTopBar: false, // set to true to avoid ios7 status bar overlap
                isTesting: false, // receiving test ad
                autoShow: false // auto show interstitial ad when loaded
            });

            registerAdEvents();
            window.plugins.AdMob.createInterstitialView();  //get the interstitials ready to be shown
            window.plugins.AdMob.requestInterstitialAd();

        } else {
            //alert( 'admob plugin not ready' );
        }
}
//functions to allow you to know when ads are shown, etc.
function registerAdEvents() {
        document.addEventListener('onReceiveAd', function(){});
        document.addEventListener('onFailedToReceiveAd', function(data){});
        document.addEventListener('onPresentAd', function(){});
        document.addEventListener('onDismissAd', function(){ });
        document.addEventListener('onLeaveToAd', function(){ });
        document.addEventListener('onReceiveInterstitialAd', function(){ });
        document.addEventListener('onPresentInterstitialAd', function(){ });
        document.addEventListener('onDismissInterstitialAd', function(){
            window.plugins.AdMob.createInterstitialView();          //REMOVE THESE 2 LINES IF USING AUTOSHOW
            window.plugins.AdMob.requestInterstitialAd();           //get the next one ready only after the current one is closed
        });
    }

//display the banner
function showBannerFunc(){
    window.plugins.AdMob.createBannerView();
}
//display the interstitial
function showInterstitialFunc(){
    window.plugins.AdMob.showInterstitialAd();
}
person Martin    schedule 26.03.2016