如何将 Admob 实现到 Ionic 中?

How to implement Admob into Ionic?

我遵循了这个 post 的说明: AdMob not loading ads in ionic/angular app

当我通过 "ionic build ios && ionic emulate ios" 运行 应用程序时,我没有看到任何广告,也没有黑条。

我错过了什么?

谢谢

按照以下步骤操作:

  1. ionic platform add android ionic platform add ios
  2. cordova plugin add com.rjfun.cordova.plugin.admob
  3. 将这些代码粘贴到 app.js 的
  4. 的 运行 模块中

代码:

$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'); });
    }
});

此致。

您可以按照 https://github.com/appfeel/admob-google-cordova/wiki/Angular.js,-Ionic-apps 中的说明进行操作:

  • 照常安装插件(见此处):

    ionic plugin add cordova-admob
    
  • 在您的 index.html 中包含以下脚本(仅此而已,无需复制任何文件:插件负责在应用程序准备好时复制脚本):

    <script src="lib/angular-admob/angular-admob.js"></script>
    
  • 从您的 Ionic 应用调用 AdMob。

这是一个简单的例子:

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);
  });
}]);