1. 苏葳的备忘录首页
  2. 移动平台

Android平台给PhoneGap应用添加广告

广告 phonegap androidPhoneGap是一个跨平台的基于HTML5和javascript的开发框架,那么现在想集成像Admob这种基于Android原生平台的库,尤其是View可能有点麻烦,下面就以Admob为例介绍怎么把Android原生View加入PhoneGap。首先,因为PhoneGap不再使用Android的XML布局,所以不能使用XML布局来加入View,只能使用编码的方式加入View,使用编码方式创建Admob View的方式如下:

adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);

大家都知道,在Android里添加View那么首先需要获取放置该View的容器或者容易的布局,PhoneGap里又没有布局文件,那么怎么在PhoneGap里获取到页面的布局呢?

其实在PhoneGap的基类DroidGap里有一个叫root的对象,它就是根节点的布局对象,获取了这个对象,就可以往页面里随意添加View了哦~

LinearLayout layout = super.root;//其实只有这里和Admob的官方示例不一样
//添加View
layout.addView(adView);
//广告请求
AdRequest request = new AdRequest();
//request.setTesting(true); //测试模式
//request.addTestDevice(AdRequest.TEST_EMULATOR);//模拟器运行
//加载广告
adView.loadAd(request);
LinearLayout layout = super.root;//其实只有这里和Admob的官方示例不一样
//添加View
layout.addView(adView);
//广告请求
AdRequest request = new AdRequest();
//request.setTesting(true); //测试模式
//request.addTestDevice(AdRequest.TEST_EMULATOR);//模拟器运行
//加载广告
adView.loadAd(request);

这样,不仅是Admob,所有广告平台的代码都可以以这种方式添加并启动了,其他View也可以这样添加。不过,这么做会导致移植性降低。

注:以上方法在某英文论坛也看到过,但文后有人反应编译时提示super.root属性不可访问,也许是版本的问题?自己测试结果也是这样,回头再仔细看看。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/369.html

发表评论

您的电子邮箱地址不会被公开。