user3755008
user3755008

Reputation:

Ads are not showing but Why?

I am developing an android app using phonegap. I have added google-play-services library project successfully. Now I want to integrate AdMob for advertising purpose. I have followed these steps https://developers.google.com/mobile-ads-sdk/docs/. My project is built and run successfully but ads are not showing there.

I have added AdMob Cordova Plugin and the SCRIPT in index.html. Here is my index.html

    <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <!--<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />-->
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
        <!--<link rel="stylesheet" type="text/css" href="css/index.css" />-->
        <!-- <link href="lib/ionic/css/ionic.css" rel="stylesheet"> -->
        <link href="css/app.css" rel="stylesheet">
        <!-- <link href="css/leaflet.css" rel="stylesheet">
        <link href="css/leaflet.draw.css" rel="stylesheet">
        <link href="css/nv.d3.css" rel="stylesheet"> -->
        <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
        <link href="css/ionic.app.css" rel="stylesheet">
        -->
        <style type="text/css">
          .css-form input.ng-invalid.ng-dirty {
            /*background-color: #FA787E;*/
              outline: none;
              box-shadow:0px 0px 7px #FA787E;
              border-color:#FA787E;
          }

          .css-form input.ng-valid.ng-dirty {
            /*background-color: #78FA89;*/
              outline: none;
              box-shadow:0px 0px 7px #78FA89;
              border-color:#78FA89;
          }


        </style>
        <!-- ionic/angularjs js -->
        <script src="js/leaflet.js"></script>
        <script src="js/d3.js"></script>
        <script src="js/nv.d3.js"></script>
        <script src="lib/ionic/js/ionic.bundle.js"></script>
        <script src="js/ng-cordova.js"></script>
        <script src="js/geolocation.js"></script>

        <script src="js/angularjs-nvd3-directives.js"></script>
        <script src="js/angular-cookies.js"></script>

        <script src="js/angular-resource.js"></script>
        <script src="js/angular-leaflet-directive.min.js"></script>
        <script src="js/leaflet.draw.js"></script>

    </head>
    <body ng-app="starter">
            <ion-nav-view animation="slide-left-right-ios7">
            </ion-nav-view>

        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="deviceinfo.js"></script>
        <script type="text/javascript" src="telephonenumber.js"></script>
        <script type="text/javascript" src="sharedprefs.js"></script>
        <!-- your app's js -->
        <script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
        <script src="js/services.js"></script>
        <script src="js/controllers.js"></script>
        <script src="js/app.js"></script>
        <script type="text/javascript" src="js/geolib.js"></script>
        <script type="text/javascript" src="js/moment.min.js"></script>
        <script type="text/javascript">
        Date.prototype.deductHours= function(h){
            this.setHours(this.getHours()-h);
            return this;
        }
        Date.prototype.addHours= function(h){
            this.setHours(this.getHours()+h);
            return this;
        }
    </script>
    <script>
        function onDocLoad() {
                    initApp();                    
        }

        function initApp() {
            initAd();

        console.log("initApp is running");
            // display the banner at startup
            window.plugins.AdMob.createBannerView();
        }
        function initAd(){
            if ( window.plugins && window.plugins.AdMob ) {
                console.log("initAd is running");
                var ad_units = {
                    ios : {
                        banner: 'ca-app-pub-2899535788334936/6458250207',
                        interstitial: 'ca-app-pub-2899535788334936/3672907408'
                    },
                    android : {
                        banner: 'ca-app-pub-2899535788334936/6458250207',
                        interstitial: 'ca-app-pub-2899535788334936/3672907408'
                    }
                };
                var admobid = ( /(android)/i.test(navigator.userAgent) ) ? ad_units.android : ad_units.ios;

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

                registerAdEvents();

            } else {
                alert( 'admob plugin not ready' );
            }
        }
       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(){ });
        }
        function onResize() {
            var msg = 'web view: ' + window.innerWidth + ' x ' + window.innerHeight;
            document.getElementById('sizeinfo').innerHTML = msg;
        }
        </script>
    </body>
</html>

Can anyone tell me what actually I have missed here? I think my project is not finding the plugin anyhow. But I have added the the plugin in config.xml also. Then whats wrong? Please reply!!

Upvotes: 0

Views: 586

Answers (3)

user3755008
user3755008

Reputation:

Ok my problem solved. The problem was not related to google-play-sevices configuration. So I can't accept any answer. Thank you everyone to help me. At least I got the surety that I was not wrong in google-play-services and admob configuration.

Upvotes: 0

Pratik Dasa
Pratik Dasa

Reputation: 7439

You are doing with old way, actually, google have declared updated google_play_services library, which contains all your individual libraries in it. So dont use individual libs, just get updated google_play_service lib and go on...!!!

Upvotes: 0

RajaReddy PolamReddy
RajaReddy PolamReddy

Reputation: 22493

No need to add separate sdk's for both GCM and AdMob, google play services contains both sdk you can use it. Use latest android google play services that contains both sdk packages.

Upvotes: 1

Related Questions