注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

移动Labs

http://labs.chinamobile.com/

 
 
 

日志

 
 
关于我

移动Labs(labs.chinamobile.com):中国移动研究院主办的通信行业汇聚门户,专注于移动通信和互联网领域,核心会员是中移动广大员工及ICT行业用户。提供资讯、博客、讨论组、专业报告、视频、电子日报等信息及知识服务,以及研究院主办的每周线下活动“无限论坛”。

网易考拉推荐

程宝平:用HTML5开发的手机应用如何加广告  

2012-11-14 14:42:46|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

独家供稿:移动Labs

我在《HTML5漫谈(8)-- 如何用HTML5技术开发手机应用》一文中介绍了如何采用HTML5技术基于PhoneGap平台开发手机应用。


    开发好了应用,怎么挣钱了?靠移动广告是个不错的主意。手机应用如何加入移动广告呢?这本不该是个问题,如果是用Java开发的Android应用,直接加入各种广告SDK就可以实现;用HTML5技术开发的应用本质上是一些网页,最合适的莫过于嵌入网页广告,例如Google的Adsense。操作起来也很简单,把Adsense账号对应的广告js代码加入某个页面的Div中就行。然而,悲催的是:Google不允许移动应用加Adsense广告,是这么说的:


http://support.google.com/adsense/bin/answer.py?hl=zh-Hans&answer=68724&ctx=as2&rd=2

在移动应用中使用 AdSense 移动内容广告将会违反 AdSense 合作规范。移动应用包括任何可下载的应用,即便借助 WebView 来显示广告也是如此。移动应用中的任何 AdSense 移动内容广告单元都将被停用。


    于是乎,我们就不得不琢磨基于PhoneGap开发的HTML5手机应用如何加入Admob、多盟之类的广告,更直接的问题就是:如何在应用中加入Android原生的View。


    在Android中添加View首先要获得放置该View的容器或者布局。还好PhoneGap的基类DroidGap里有一个叫root的对象,它是根节点的布局对象,得到了这个对象,就可以往页面里添加View。 这样就可以很简单地加入广告了:1)用编码方式创建广告的View 2)获取root对象,然后往页面添加广告View。


程宝平:用HTML5开发的手机应用如何加广告 - 移动Labs - 中国移动研究院(移动Labs)
 

  ( 移动应用中加入Admob广告的示意图 )


以Google Admob、多盟Domob广告为例给出示例代码,其他广告平台类似。




For Google Admob (SDK下载:https://developers.google.com/mobile-ads-sdk/download)


public class SampleApp extends DroidGap


{

public void onCreate(Bundle savedInstanceState)


    {


      super.onCreate(savedInstanceState);

        super.loadUrl("file:///android_asset/www/index.html");

        LinearLayout layout = super.root;


      AdView adView = new AdView(this, AdSize.BANNER, "应用广告ID");

        layout.addView(adView);

     AdRequest request = new AdRequest();   

     adView.loadAd(request);


    }

    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 

    WindowManager.LayoutParams.FLAG_FULLSCREEN); 


    } 


}


For 多盟广告(SDK下载:http://www.domob.cn/developers/SDKdownload.htm)


public class SampleApp extends DroidGap


{

    DomobAdView mAdview320x50;

    public void onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        super.loadUrl("file:///android_asset/www/index.html");

        mAdview320x50 = new DomobAdView(this, "应用广告ID", DomobAdView.INLINE_SIZE_320X50);

        LinearLayout layout = super.root;


        //设置广告view的监听器。


        mAdview320x50.setOnAdListener(new DomobAdListener() {


            public void onReceivedFreshAd(DomobAdView adview) {

                Log.i("DomobSDKDemo", "onReceivedFreshAd");

            }

            public void onFailedToReceiveFreshAd(DomobAdView adview) {

                Log.i("DomobSDKDemo", "onFailedToReceiveFreshAd");

            }

            public void onLandingPageOpening() {

                Log.i("DomobSDKDemo", "onLandingPageOpening");

            }

            public void onLandingPageClose() {

                Log.i("DomobSDKDemo", "onLandingPageClose");

            }

        });

      layout.addView(mAdview320x50);

    }


}


( 程宝平 chengbaoping@139.com ) 


本博文发表在移动Labs的文链是:
http://labs.chinamobile.com/mblog/287_187729


【相关博文】
开发者能靠移动广告发家致富吗?
如何用HTML5技术开发手机应用
【精彩推荐】
  评论这张
 
阅读(942)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017