How to implement Admob into Ionic?

2019-02-25 22:09发布

问题:

I followed the instructions of this post: AdMob not loading ads in ionic/angular app

When I run the app via "ionic build ios && ionic emulate ios" I get no ads, no black bar nothing.

What did I miss?

Thanks

回答1:

You can follow the instructions at https://github.com/appfeel/admob-google-cordova/wiki/Angular.js,-Ionic-apps:

  • Install the plugin as usual (see here):

    ionic plugin add cordova-admob
    
  • Include the following script in your index.html (just it, no need to copy any file: the plugin is in charge to copy the script when the app is prepared):

    <script src="lib/angular-admob/angular-admob.js"></script>
    
  • Call AdMob from your Ionic app.

Here is a quick example:

var app = angular.module('myApp', ['admobModule']);

app.config(['admobSvcProvider', function (admobSvcProvider) {
  // Optionally you can configure the options here:
  admobSvcProvider.setOptions({
    publisherId:          "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB",  // Required
    interstitialAdId:     "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII",  // Optional
  });
}]);


app.run(['admobSvc', function (admobSvc) {
  // Also you could configure the options here (or in any controller):
  // admobSvcProvider.setOptions({ ... });

  admobSvc.createBannerView();
  // You could also call admobSvc.createBannerView(options);


  // Handle events:
  $rootScope.$on(admobSvc.events.onAdOpened, function onAdOpened(evt, e) {
    console.log('adOpened: type of ad:' + e.adType);
  });
}]);


回答2:

Follow these steps:

  1. ionic platform add android ionic platform add ios
  2. cordova plugin add com.rjfun.cordova.plugin.admob
  3. Paste these code in run module of app.js's

code:

$ionicPlatform.ready(function() {
    if(window.plugins && window.plugins.AdMob) {
        var admob_key = device.platform == "Android" ? "ANDROID_PUBLISHER_KEY" : "IOS_PUBLISHER_KEY";
        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'); });
    }
});

Regards.