Плагин Admob не работает с приложением Phonegap - PullRequest
0 голосов
/ 14 декабря 2018

Я надеюсь, что вы можете помочь мне с этой проблемой.Я пробовал ВСЕ последние 5 дней, но каждый раз терплю неудачу.У меня есть простое приложение, использующее HTML5, CSS и немного Javascript. Приложение работает нормально. Мне нужна простая баннерная реклама, которая показывается внизу приложения. Я просто не могу заставить ее работать.Иногда черный ящик появляется внизу, вот и все, но не реклама.Я не очень хорошо разбираюсь в Javascript, поэтому проблема в коде мэйби, но я скопировал большую часть из примера плагина.

Источник: https://www.npmjs.com/package/phonegap-admob

Я использую: - Phonegap 6.1.2 (Build Service) - плагин admob-phonegap (<plugin name="phonegap-admob" spec="4.2.1" />) - Другие плагины, которые отлично работают.

Что мне нужно: - Только небольшая баннерная реклама внизу страницы.

Платформа: - Только Andriod

В моем config.xml у меня есть эта строка:

<plugin name="phonegap-admob" spec="4.2.1" />

В моем index.html внутри тегов <script></script> у меня есть этот код:

<script>
var isAppForeground = true;

    function initAds() {
      if (admob) {
        var adPublisherIds = {
          android : {
            banner : "ca-app-pub-1467389904102750/404191XXXX",
          }
        };

        var admobid = (/(android)/i.test(navigator.userAgent)) ? adPublisherIds.android : adPublisherIds.ios;

        admob.setOptions({
          publisherId:      admobid.banner,
          interstitialAdId: admobid.interstitial,

        });

        registerAdEvents();

      } else {
        alert('AdMobAds plugin not ready');
      }
    }

    function onAdLoaded(e) {
      if (isAppForeground) {
        if (e.adType === admob.AD_TYPE.INTERSTITIAL) {
          console.log("An interstitial has been loaded and autoshown. If you want to load the interstitial first and show it later, set 'autoShowInterstitial: false' in admob.setOptions() and call 'admob.showInterstitialAd();' here");
        } else if (e.adType === admob.AD_TYPE_BANNER) {
          console.log("New banner received");
        }
      }
    }

    function onPause() {
      if (isAppForeground) {
        admob.destroyBannerView();
        isAppForeground = false;
      }
    }

    function onResume() {
      if (!isAppForeground) {
        setTimeout(admob.createBannerView, 1);
        setTimeout(admob.requestInterstitialAd, 1);
        isAppForeground = true;
      }
    }

    // optional, in case respond to events
    function registerAdEvents() {
      document.addEventListener(admob.events.onAdLoaded, onAdLoaded);
      document.addEventListener(admob.events.onAdFailedToLoad, function (e) {});
      document.addEventListener(admob.events.onAdOpened, function (e) {});
      document.addEventListener(admob.events.onAdClosed, function (e) {});
      document.addEventListener(admob.events.onAdLeftApplication, function (e) {});

      document.addEventListener("pause", onPause, false);
      document.addEventListener("resume", onResume, false);
    }

    function onDeviceReady() {
      document.removeEventListener('deviceready', onDeviceReady, false);
      initAds();

      // display a banner at startup
      admob.createBannerView();

    }

    document.addEventListener("deviceready", onDeviceReady, false);

 </script>     

Надеюсь, кто-нибудь сможет мне помочь.Большое вам спасибо

1 Ответ

0 голосов
/ 05 февраля 2019

Хорошо, весь код был верным.Проблема была только в том, что я не связывался с Кордовой в теге Script.Я где-то читал, что вам это не нужно, и Phonegap / Cordova включит его автоматически.Это было все, что было нужно.Вы хотите, чтобы Admob отображался (и, возможно, многие другие плагины), пожалуйста, включите

<script type = "text / javascript" src = "cordova.js"> </script>.
...