如何将AdMob广告整合到Android和iOS的Cordova项目中?
我正在Cordova编写一个使用最新版本(6)的多平台应用程序,在尝试让AdMob广告在iOS和Android上运行时遇到了很多麻烦。我已经下载了AdMob的代码示例,但是从javascript控制它让我感到困惑。我对插件体系结构有所了解,但我似乎无法让它正常工作如何将AdMob广告整合到Android和iOS的Cordova项目中?,android,ios,cordova,plugins,admob,Android,Ios,Cordova,Plugins,Admob,我正在Cordova编写一个使用最新版本(6)的多平台应用程序,在尝试让AdMob广告在iOS和Android上运行时遇到了很多麻烦。我已经下载了AdMob的代码示例,但是从javascript控制它让我感到困惑。我对插件体系结构有所了解,但我似乎无法让它正常工作 请提供帮助。您最好使用一个预制作的插件。正如你提到的,我有一款在iOS和Android上都能使用Cordova 6的手机的经验 完整的说明在这里或这里 要安装: cd yourappfolder cordova plugin add
请提供帮助。您最好使用一个预制作的插件。正如你提到的,我有一款在iOS和Android上都能使用Cordova 6的手机的经验 完整的说明在这里或这里 要安装:
cd yourappfolder
cordova plugin add cordova-plugin-admob-simple
如果您使用的是Eclipse,请将google-play-services.jar复制到libs文件夹中
将以下行添加到清单文件,就在结束应用程序标记之前
<meta-data android:name="com.google.android.gms.version" android:value="8487000" />
从onDeviceReady()调用init()
调用showInterstitutionalFunc()和showBannerFunc()以显示广告
请记住,在显示间隙之前必须稍等,因为加载需要时间
希望这有帮助。这是我最简单的方法: 我已经在用了。它很容易在IOS和Android上使用
多亏了@ir2pid“此用户无需声明即可享受高达30%的收入折扣。”
因此,它会占用您的部分收入。您可以使用以下插件:
这似乎是目前最流行的软件包。它是插件的继承者。我目前正在研究它以供我使用。是否有机会控制用户是否关闭奖励视频以阻止他使用此插件赚取“积分”?小心:此插件会占用您的一些广告收入@syonip怎么会这样?if检查发布者id是否包含“xxx”,因此您将不得不错过一些配置。该用户在未声明的情况下最多可享受30%的收入折扣。请务必查看插件的问题列表以获取解释,除非该插件已被所有者删除。”“该用户在没有说明“哪个用户@ir2pid?该插件的创建者”的情况下最多可享受30%的收入折扣
//initialize the goodies
function initAd(){
if ( window.plugins && window.plugins.AdMob ) {
var ad_units = {
ios : {
banner: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx', //PUT ADMOB ADCODE HERE
interstitial: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx' //PUT ADMOB ADCODE HERE
},
android : {
banner: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx', //PUT ADMOB ADCODE HERE
interstitial: 'ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxx' //PUT ADMOB ADCODE HERE
}
};
var admobid = ( /(android)/i.test(navigator.userAgent) ) ? ad_units.android : ad_units.ios;
window.plugins.AdMob.setOptions( {
publisherId: admobid.banner,
interstitialAdId: admobid.interstitial,
adSize: window.plugins.AdMob.AD_SIZE.SMART_BANNER, //use SMART_BANNER, BANNER, IAB_MRECT, IAB_BANNER, IAB_LEADERBOARD
bannerAtTop: false, // set to true, to put banner at top
overlap: true, // banner will overlap webview
offsetTopBar: false, // set to true to avoid ios7 status bar overlap
isTesting: false, // receiving test ad
autoShow: false // auto show interstitial ad when loaded
});
registerAdEvents();
window.plugins.AdMob.createInterstitialView(); //get the interstitials ready to be shown
window.plugins.AdMob.requestInterstitialAd();
} else {
//alert( 'admob plugin not ready' );
}
}
//functions to allow you to know when ads are shown, etc.
function registerAdEvents() {
document.addEventListener('onReceiveAd', function(){});
document.addEventListener('onFailedToReceiveAd', function(data){});
document.addEventListener('onPresentAd', function(){});
document.addEventListener('onDismissAd', function(){ });
document.addEventListener('onLeaveToAd', function(){ });
document.addEventListener('onReceiveInterstitialAd', function(){ });
document.addEventListener('onPresentInterstitialAd', function(){ });
document.addEventListener('onDismissInterstitialAd', function(){
window.plugins.AdMob.createInterstitialView(); //REMOVE THESE 2 LINES IF USING AUTOSHOW
window.plugins.AdMob.requestInterstitialAd(); //get the next one ready only after the current one is closed
});
}
//display the banner
function showBannerFunc(){
window.plugins.AdMob.createBannerView();
}
//display the interstitial
function showInterstitialFunc(){
window.plugins.AdMob.showInterstitialAd();
}