реклама cordova admobpro не показывается на устройствах Android - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь разместить рекламу AdMob в моих ионных приложениях для Android и проверить функциональность, которую я создал для ионных приложений под названием AdMobTest.Плагин, который я использую, это плагин cordova-admob-pro .Вот мой код AdMob:

var admobid = {};
if (/(android)/i.test(navigator.userAgent)) { //Android
  admobid = {
    banner : 'ca-app-pub-2586564966169402/9782816366',
    interstitial : 'ca-app-pub-2586564966169402/8345912938',
    gotHereMsg1 : 'banner and interstitial have the android IDs'
  };
} else if (/(ipod|iphone|ipad)/i.test(navigator.userAgent)) { //iOS
  admobid = {
    banner : 'Stand in iOS banner ID',
    interstitial: 'stand in iOS interstitial ID',
    gotHereMsg1 : 'banner and interstitial have the iOS IDs'
  };
} else { //Neither
  admobid = {
    gotHereMsg1 : 'banner and interstitial have no IDs'
  }
}

if (window.AdMob) {
  var admob = window.AdMob;
  admob.createBanner ({
    adId : admobid.banner,
    position : admob.AD_POSITION.BOTTOM_CENTER,
    isTesting : false, //False for live ; True for production
    autoShow : true
  });
  admob.prepareInterstitial ({
    adId : admobid.interstitial,
    autoShow : false
  });
  gotHereMsg2 = "window.AdMob is true";
} else {
  gotHereMsg2 = "window.AdMob is not true";
}

//Got an ID and the actual ID's
document.getElementById("getIdCheck").innerHTML = admobid.gotHereMsg1;
document.getElementById("bannerId").innerHTML = admobid.banner;
document.getElementById("interstitialId").innerHTML = admobid.interstitial;
//window.AdMob is true and banner is created + interstitial is prepared
document.getElementById("isWindowAdmob").innerHTML = gotHereMsg2;
//Show interstitial function is executed or has not been executed
document.getElementById("startInterstitial").onclick = function () {
  if (window.AdMob) {
    var admob = window.AdMob;
    admob.showInterstitial();
    gotHereMsg3 = "Show Interstitial function has been executed";
  } else {
    gotHereMsg3 = "Show Interstitial function has not been executed";
  }
  document.getElementById("checkInterstitial").innerHTML = gotHereMsg3;
}

Чтобы показать, что работает в тестах, я использовал переменные gotHereMsg.Все переменные получают, куда я хочу, чтобы они пошли.

Таким образом, gotHereMsg1 имеет сообщение об идентификаторах андроида, и идентификаторы также верны.

gotHereMsg2 возвращает "window.AdMob true", что означает, что выполняются функции createBanner и prepareInterstitial.

Наконец, gotHereMsg3 возвращает «Показать выполнение промежуточной функции», когда я нажимаю кнопку.

Несмотря на то, что все функции выполняются, и он, очевидно, распознает window.AdMob, баннеры не отображаются.Надеемся, что этого достаточно, чтобы решить эту проблему.

Возможно, стоит отметить, что я использую ionicv1 и что код записан в файле app.js ionic под функцией $ ionicPlatform.ready.

1 Ответ

2 голосов
/ 09 апреля 2019

У меня большой опыт работы с admob и ionic v1.

Во-первых, не используйте cordova-admob-pro, они (он?) Буквально крадут у вас доход! мелодия доказательства здесь

Использование cordova-plugin-admob-free

if (window.admob !== undefined) {
            admob.banner.config({
                id: 'ca-app-pub-...',
                autoShow: true
            });

            // Create banner
            admob.banner.prepare();

            // Show the banner
            admob.banner.show();

            admob.interstitial.config({
                id: 'ca-app-pub-....',
                autoShow: false
            });
            admob.interstitial.prepare();
        }

Во-вторых, я не вижу ничего плохого ... Я бы посоветовал вам запускать команды admob в окнах консоли браузера при использовании удаленной проверки ..... и в то же время смотрите adb logcat, чтобы увидеть, если вы получаете «NO FILL» или любую другую ошибку AdMob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...