Admob不支持phonegap和android

Admob not working in phonegap and android

本文关键字:android phonegap 不支持 Admob      更新时间:2023-09-26

我试图添加广告到我的android phonegap应用程序,但我没有得到任何…我使用phonegap 0.3.3

我的admob密钥AD密钥像:ca-app-pub-9718633180389415/1973821888

在我的config.xml中,我有:

<plugin name="com.admob.google" spec="4.0.8" source="pgb" />

,然后在我的索引上尝试:

function onDeviceReady() {
      document.removeEventListener('deviceready', onDeviceReady, false);
      // Set AdMobAds options:
      admob.setOptions({
        publisherId:          "ca-app-pub-9718633180389415/1973821888",  // Required
        interstitialAdId:     "ca-app-pub-9718633180389415/1973821888",  // Optional
        tappxIdiOs:           "/XXXXXXXXX/Pub-XXXX-iOS-IIII",            // Optional
        tappxIdAndroid:       "/XXXXXXXXX/Pub-XXXX-Android-AAAA",        // Optional
        tappxShare:           0.5                                        // Optional
      });
      // Start showing banners (atomatic when autoShowBanner is set to true)
      admob.createBannerView();
      // Request interstitial (will present automatically when autoShowInterstitial is set to true)
      admob.requestInterstitial();
    }

,但没有显示:我使用https://github.com/sunnycupertino/cordova-plugin-admob-simple

cordova-admob插件的作者。你试过isTesting: true吗?你是在真正的设备上运行吗?请注意,它不能在浏览器中工作(只能在模拟器或真实设备中)。

在你的config.xml:

<gap:plugin name="phonegap-admob" source="npm"/>

在你的javascript:

function onDeviceReady() {
  document.removeEventListener('deviceready', onDeviceReady, false);
  // Set AdMobAds options:
  admob.setOptions({
    publisherId:          "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB",  // Required
    interstitialAdId:     "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII",  // Optional
    isTesting:            true  // Optional
  });
  // Start showing banners (atomatic when autoShowBanner is set to true)
  admob.createBannerView();
  // Request interstitial (will present automatically when autoShowInterstitial is set to true)
  admob.requestInterstitialAd();
}
document.addEventListener("deviceready", onDeviceReady, false);

查看更多详细信息:https://github.com/appfeel/admob-google-cordova/wiki/Setup

不确定这是否有用,但我认为我正在使用与您相同的插件,当,事实上,我正在使用这个:

https://github.com/admob-google/admob-cordova

为了使用这个插件,我写了以下代码:
var AdmobManager = {
    // admob configuration
    admobCfg: {},
    // Initialize admob support, and start showing a banner right away
    initAdmob: function () {
        // If we don't have admob support, don't try to configure anything
        if (!admob) 
            return;
        // Configure the IDs for the iOS and Android banner and interstitial ads
        AdmobManager.admobCfg.iosCfg = {
            banner: "ca-app-pub-XXXXXXXXXXXXXXXX/BBBBBBBBBB",
            interstitial: "ca-app-pub-XXXXXXXXXXXXXXXX/IIIIIIIIII"
        };
        AdmobManager.admobCfg.androidCfg = {
            banner: "ca-app-pub-XXXXXXXXXXXXXXXX/RRRRRRRRRR",
            interstitial: "ca-app-pub-XXXXXXXXXXXXXXXX/HHHHHHHHHH"
        };
        // Choose ad IDs based on platform
        AdmobManager.admobCfg.activeCfg = (/(android)/i.test(navigator.userAgent)) ? AdmobManager.admobCfg.androidCfg : AdmobManager.admobCfg.iosCfg;
        // Now we can init admob: set the IDs, and build a param for testing mode
        admob.initAdmob(AdmobManager.admobCfg.activeCfg.banner, AdmobManager.admobCfg.activeCfg.interstitial);
        AdmobManager.admobCfg.extraParams = new admob.Params();
        AdmobManager.admobCfg.extraParams.isTesting = true;
        // Request banner ads immediately upon app start
        admob.showBanner(admob.BannerSize.BANNER, admob.Position.BOTTOM_CENTER, AdmobManager.admobCfg.extraParams);
    },
    // start allowing Admob interstitials
    enableAdmobInterstitial: function () {
        // If we don't have admob support, don't try to configure anything
        if (!admob) 
            return;
        // Set up a listener for showing an interstitial once it arrives
        document.addEventListener(admob.Event.onInterstitialReceive, function (message) {
            admob.showInterstitial();
        }, false);
        // Request an interstitial to be sent
        admob.cacheInterstitial(AdmobManager.admobCfg.extraParams);
    }
}

在显示登录屏幕之前调用AdmobManager.initAdmob(),然后在登录后调用AdmobManager.enableAdmobInterstitial()

当然,一旦您完成了测试,您将希望将isTesting更改为false