2016-03-27 90 views
2

我正尝试以编程方式在Phonegap应用中加载Admob插页式广告。以编程方式在Phonegap中加载Admob插页式广告

我使用一个插件,我在Github上找到:

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

我建立在回购协议提供的示例HTML测试应用程序。唯一的问题是我希望能够缓存插页式广告并以编程方式加载它。该示例使用按钮来触发Javascript。

我确实让广告在应用中工作,但只能按下按钮。我想在HTML5游戏中触发Game Over的插页式广告。无需用户交互。

这是我已经试过:

function onLoad(){ 

    admob.cacheInterstitial(); 

    document.addEventListener('deviceready',onDeviceReady, false); 
} 

function onDeviceReady() { 
    showInterstitial(); 
} 


<body onload="onLoad();"> 

但是,这是行不通的。我承认Javascript并不是我的强项,并且Objective-C和Swift有更多的时间。

也许有人比我更擅长Javascript可以指出我在正确的方向如何以编程方式触发这些功能admob.cacheInterstitial();showInterstitial();

这里是我使用完整的HTML示例:

https://github.com/admob-google/admob-phonegap/blob/master/Example/index.html

回答

0

考虑使用这个插件:https://github.com/appfeel/admob-google-cordova 的使用非常简单!我真的在我的游戏中使用,它完美的工作!

你只需要包含如下代码:

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 
    tappxShare:   0.5,          // Optional 
    autoShowInterstitial: false 
    }); 



    // Request interstitial (will present automatically when autoShowInterstitial is set to true, that's why we set to false! so we can call when we want!) 
    admob.requestInterstitialAd(); 
} 

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

而且你GAMEOVER函数中,你只需要使用如下代码来调用插页式广告

admob.showInterstitialAd(); 

* UPD:使用你的插件,尝试使用bool并显示此功能,可能是这样的:

function onDeviceReady() { 
    if(boolGameOver){ 
     showInterstitial(); 
     boolGameOver = false; 
    } 
} 

并在您的gameOverFunction中,在将boolGameOver设置为true后,调用onDeviceReady函数!

+0

好的,太好了。我会尝试这种方法。我最终使用Native方法让应用展示广告,但会尝试这种Cordova方法。 – Paul

+0

@保罗我更新我的答案,检查它是否适用于您的插件! –

+0

Hey Han,我尝试了你的代码,但是我在控制台中得到了这些消息:'AppFeelReachability标志状态:-R ------- networkStatusForFlags'和'要在此设备上获得测试广告,请调用:request.testDevices = @ [@“TEST_DEVICE_NUMBER”];' – Paul