【问题标题】:AdMob not getting display on device ionicAdMob 没有在离子设备上显示
【发布时间】:2016-01-13 20:44:21
【问题描述】:

我正在尝试在我的应用程序中显示 admob,但它没有显示在屏幕上。

我添加了它的插件:- cordova plugin add com.rjfun.cordova.plugin.admob 科尔多瓦插件添加https://github.com/floatinghotpot/cordova-plugin-admob.git

这是我在运行函数下的 app.js 类中完成的代码:-

$ionicPlatform
  .ready(function() {

      if (window.plugins && window.plugins.AdMob) {
        alert('inside');
        var admob_key = device.platform == "Android" ? "ca-app-pub-6869992474017983/4748283957" : "IOS_PUBLISHER_KEY";
        var admob = window.plugins.AdMob;
        admob
          .createBannerView({
              'adId': admob_key,
              'position': admob.AD_POSITION.BOTTOM_CENTER,
              'adSize': admob.AD_SIZE.BANNER,
              'bannerAtTop': false
            },
            function() {
              admob
                .requestAd({
                    'isTesting': false
                  },
                  function() {
                    admob
                      .showAd(true);
                  },
                  function() {
                    alert("failed to request ad");
                    console
                      .log('failed to request ad');
                  });
            },
            function() {
              alert("failed to create banner view");
              console
                .log('failed to create banner view');
            });
      } else {
        alert("AdMob plugin not available/ready.");
      }

我参考上面代码的链接:-

1)https://blog.nraboy.com/2014/06/using-admob-ionicframework/

2)https://github.com/floatinghotpot/cordova-admob-pro

请给我任何建议。

谢谢

【问题讨论】:

  • 我最近在使用 admob 并关注了 nraboy 的博客。我认为他使用的是旧版本的 admob,因为 bannerAtTop 不再是配置选项。如果您实际检查 admob 的 JavaScript,您会注意到它已更改为 position,因此请尝试类似 position: admob.AD_POSITION.BOTTOM_CENTER
  • 检查我的代码后,我还注意到publisherId 选项现在是adId,所以尝试将其更改为adId: admob_key
  • 嘿 Will.Harris,谢谢你的回复..你能不能给我一个虚拟样本,我也更新了你提到的代码
  • 但它仍然没有得到 addmob 插件......它直接显示警告消息“AdMob 插件不可用/准备好”,意味着我的其他部分正在工作
  • 我遇到了完全相同的问题,经过一些测试后,我注意到 window.plugins.Admob 下不存在 Admob,而只是 window.Admob,我将添加我的代码作为答案,以便您可以查看虚拟模板

标签: javascript android cordova ionic admob


【解决方案1】:

最新版本的 Admob 与 nraboy 的博客中的版本之间发生了一些变化。几周前,我在检查插件 .js 文件以找出更改后使用插件时注意到以下差异:

  • Admob 不再位于window.plugins.Admob 下我在window.Admob 下找到它
  • 配置选项publisherId 现在是adId
  • 配置选项bannerAtTop现在是position
  • admob.createBannerView() 现在只是 admob.createBanner() 在显示添加时为您完成所有工作(您无需调用 admob.requestAd())等。

要遵循的模板

           if (window.AdMob) {
                var admob = window.AdMob;
                admob.createBanner({
                    adId: admob_key,
                    adSize: admob.AD_SIZE.SMART_BANNER,
                    position: admob.AD_POSITION.BOTTOM_CENTER,
                    isTesting: false, //Live
                    //isTesting: true, //Test
                    autoShow: true
                }, function (data) {
                    console.log('Banner created... ' + angular.toJson(data));
                }, function (err) {
                    console.log('Failed to create banner view... ' + angular.toJson(err));
                });
            } else {
                //plugin not found
            }

其他信息

如果您不知道其他 AD_SIZE 和 AD_POSITION 选项(从插件 .js 文件复制)

.AD_POSITION = {
  NO_CHANGE: 0,
  TOP_LEFT: 1,
  TOP_CENTER: 2,
  TOP_RIGHT: 3,
  LEFT: 4,
  CENTER: 5,
  RIGHT: 6,
  BOTTOM_LEFT: 7,
  BOTTOM_CENTER: 8,
  BOTTOM_RIGHT: 9,
  POS_XY: 10
};

.AD_SIZE = {
  SMART_BANNER: 'SMART_BANNER',
  BANNER: 'BANNER',
  MEDIUM_RECTANGLE: 'MEDIUM_RECTANGLE',
  FULL_BANNER: 'FULL_BANNER',
  LEADERBOARD: 'LEADERBOARD',
  SKYSCRAPER: 'SKYSCRAPER'
};

【讨论】:

  • 好的,所以在这里代替 adId: ids.banner 我的 admob_key 有效?
  • 是的,这就是你的 admob_key 所在的地方,我会更新答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多