Android应用开发-小巫CSDN博客client之嵌入有米广告
上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去。小巫自称专业对接30年,熟悉各大渠道SDK的接入和使用,除非渠道提供的SDK非常坑,不然仅仅须要不到半个小时的时间就能够把SDK接入到应用其中。关于广告,是开发人员比較关注的话题,为什么要嵌入广告呢,自然是为了为自己的辛苦劳作得到些许额外的收益,由于在国内除非做IOS付费软件,不然在Android平台下做收费软件是非常难获得收益的,用户仅仅想用看起来好用而且免费的东西,嵌入广告是唯一能行得通的办法,仅仅要不会太离谱即可。
广告服务商非常多,比方有米、点金、多盟、广点通等等,开发人员能够选择口碑比較好,能为开发人员带来较好的收益的广告渠道。
笔者这里选择了有米作为实验点,提供一个參考给大家,废话不多说,先来看看小巫CSDN博客client如今的收益:
有木有看到收入啊,囧,非常抱歉这点收入,小巫这个client的广告隐藏得非常深,用户也不是非常多,所以就临时就仅仅有这点啦。
相同的,以下是有米广告的集成过程:
到有米广告官网注冊帐号,在管理中心创建应用获取到公布ID和应用密钥:
创建完应用之后,下载SDK而且解压缩,得到例如以下目录和文件:
demo相应相应的演示样例项目,开发人员能够通过这些演示样例项目,能够高速实现集成SDK。
doc相应开发文档
libs相应集成时须要的库
说实在集成SDK并没有什么技术含量,仅仅要你依照渠道提供的开发文档,自己试一遍,基本上就没有什么疑惑了。
有米给我们提供了以下几种广告类型:
  • 广告条,也称横幅
  • 插屏广告
  • 积分墙广告
然而横幅广告有两种形式,一种是以XML形式布局,还有一种是以代码形式布局。
配置有米权限:
    <!-- 有米广告配置权限 -->
<!-- 配置权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />
<!-- 以下为可选权限 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
有米必要的配置:
 <!-- 有米广告必须加入的组件 -->
<!-- 加入必须的组件 -->
<activity
android:name="net.youmi.android.AdBrowser"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Light.NoTitleBar" >
</activity> <service
android:name="net.youmi.android.AdService"
android:exported="false" >
</service> <receiver android:name="net.youmi.android.AdReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" /> <data android:scheme="package" />
</intent-filter>
</receiver> <!-- 有米渠道号(可选配置) 渠道号不能带空格,类型为整数 -->
<meta-data
android:name="YOUMI_CHANNEL"
android:value="0" >
</meta-data>
有米广告初始化:
// 初始化应用的公布 ID 和密钥,以及设置測试模式
AdManager.getInstance(this).init("您的应用公布ID", "您的应用密钥", false);

小巫的博客client至集成了广告条和插屏广告,效果例如以下:

代码中的实现:
/**
* 初始化广告
*
* @param view
*/
public void initAd(View view) {
// 初始化接口,应用启动的时候调用
// 參数:appId, appSecret, 调试模式
AdManager.getInstance(getActivity()).init("8df70b90ebf86823",
"b7659d08439c052b", false);
// // 广告条接口调用(适用于应用)
// // 将广告条adView加入到须要展示的layout控件中
// LinearLayout adLayout = (LinearLayout)
// view.findViewById(R.id.adLayout);
// AdView adView = new AdView(getActivity(), AdSize.FIT_SCREEN);
// adLayout.addView(adView); // 普通布局,适用于应用
// 获取要嵌入迷你广告条的布局
RelativeLayout adLayout = (RelativeLayout) view
.findViewById(R.id.adLayout);
// demo 1 迷你Banner : 宽满屏,高32dp
DiyBanner banner = new DiyBanner(getActivity(),
DiyAdSize.SIZE_MATCH_SCREENx32);// 传入高度为32dp的AdSize来定义迷你Banner
// demo 2 迷你Banner : 宽320dp,高32dp
// DiyBanner banner = new DiyBanner(this,
// DiyAdSize.SIZE_320x32);//传入高度为32dp的AdSize来定义迷你Banner
// 将积分Banner加入到布局中
adLayout.addView(banner); // 监听广告条接口
// adView.setAdListener(new AdViewListener() {
//
// @Override
// public void onSwitchedAd(AdView arg0) {
// Log.i("YoumiAdDemo", "广告条切换");
// }
//
// @Override
// public void onReceivedAd(AdView arg0) {
// Log.i("YoumiAdDemo", "请求广告成功");
// }
//
// @Override
// public void onFailedToReceivedAd(AdView arg0) {
// Log.i("YoumiAdDemo", "请求广告失败");
// }
// }); // 插播接口调用
// 开发人员能够到开发人员后台设置展示频率,须要到开发人员后台设置页面(具体信息->业务信息->无积分广告业务->高级设置)
// 自4.03版本号添加云控制是否开启防误点功能,须要到开发人员后台设置页面(具体信息->业务信息->无积分广告业务->高级设置) // 载入插播资源
SpotManager.getInstance(getActivity()).loadSpotAds();
// 设置展示超时时间,载入超时则不展示广告,默认0,代表不设置超时时间
SpotManager.getInstance(getActivity()).setSpotTimeout(5000);// 设置5秒
SpotManager.getInstance(getActivity()).setShowInterval(20);// 设置20秒的显示时间间隔
// 如须要使用自己主动关闭插屏功能,请取消凝视以下方法
SpotManager.getInstance(getActivity()).setAutoCloseSpot(true);// 设置自己主动关闭插屏开关
SpotManager.getInstance(getActivity()).setCloseTime(6000); // 设置关闭插屏时间 }
展示插屏广告的代码:
// 展示插播广告,能够不调用loadSpot独立使用
SpotManager.getInstance(getActivity()).showSpotAds(getActivity(),
new SpotDialogListener() {
@Override
public void onShowSuccess() {
Log.i("YoumiAdDemo", "展示成功");
} @Override
public void onShowFailed() {
Log.i("YoumiAdDemo", "展示失败");
} });
声明周期中的插屏广告的处理:
	@Override
public void onStop() {
// 假设不调用此方法,则按home键的时候会出现图标无法显示的情况。
SpotManager.getInstance(getActivity()).disMiss(false);
super.onStop();
} @Override
public void onDestroy() {
// 取消注冊监听
SpotManager.getInstance(getActivity()).unregisterSceenReceiver();
super.onDestroy();
}

以上就是关于嵌入有米广告的过程,怎样长正式产生收益呢,须要应用审核通过呈执行状态,就開始计费了。仅仅要你的应用做得足够吸引人,我想用户也不介意多点几下作为汇报,看看Flappy Bird就是一个非常好的样例了。

下一篇博文预告是,怎样用ListView呈现文章具体内容,谢谢朋友们的耐心阅读,你的支持是小巫的无限动力。

Android应用开发-小巫CSDN博客client之嵌入有米广告的更多相关文章

  1. Android应用开发-小巫CSDN博客client之显示博文具体内容

    Android应用开发-小巫CSDN博客客户端之显示博文具体内容 上篇博文给大家介绍的是怎样嵌入有米广告而且获取收益,本篇博客打算讲讲关于怎样在一个ListView里显示博文的具体信息.这个可能是童鞋 ...

  2. Android应用开发-小巫CSDN博客client之获取评论列表

    Android应用开发-小巫CSDN博客客户端之获取评论列表 上一篇博客介绍了博文具体内容的业务逻辑实现,本篇博客介绍小巫CSDN博客客户端的最后一项功能.获取评论列表,这个功能的实现跟前面获取文章列 ...

  3. Android应用开发-小巫CSDN博客clientJsoup篇

    Android应用开发-小巫CSDN博客clientJsoup篇 距上一篇博客已经过去了两个星期,小巫也认为很抱歉,由于在忙着做另外一个项目,差点儿抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本 ...

  4. Android应用开发-小巫CSDN博客客户端开发开篇

    2014年9月8日 八月十五 祝各位中秋节快乐 小巫断断续续花了几个星期的时间开发了这么一款应用——小巫CSDN博客,属于私人定制的这样的一款应用,整个客户端的数据全部来自本人博客,是通过爬取本人博客 ...

  5. 基于Netbeans的安卓Android开发环境配置 - CSDN博客

    原文:基于Netbeans的安卓Android开发环境配置 - CSDN博客 基于Netbeans的安卓Android开发环境配置 一.准备工作 NetBeans 勾选网页中的Accept-选择对应系 ...

  6. iOS开发的知名大牛博客小汇

    王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat ...

  7. 小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET

    小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅 ...

  8. 敏捷开发用户故事系列之十一:CSDN博客用户故事分析

    这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的 ...

  9. 安卓开发:简单的登陆跳转_APK实现直接跳转到本CSDN博客

    最近在开始接触Android APP开发,有了一点java基础之后,安卓代码确实看起来就没有那么难了,可以跟着书上把例程敲一遍,然后熟能生巧可以应用起来,现在写了一个简单的APP,实现的是Edit编辑 ...

随机推荐

  1. HTML5中class选择器属性的解释

    设置有class属性值的元素,可以被css中的选择器调用,也可以在javascript中以getElementsByClassName()方法调用. 可以给各个元素添加class而且名称可以相同与id ...

  2. div 固定宽高 水平垂直居中方法

    div固定宽高,水平垂直居中,根据所用单位不同,分成两种情况,分别是"px"和"%"情况. 例:将三层div做出三个边框,要求水平垂直居中.效果如图 情况一(单 ...

  3. 在java代码中显示json字符串(怎么避免json字符串中双引号在java代码中显示)

    String log = "eyJvcmRlckluZm8iOnsiaWQiOjEwNzQwNCwib3JkZXJJZCI6MjczNjQyMSwicHJvZHVjdENvZGUiOjQ1N ...

  4. JS判断图片是否加载完成三种方式

    1.img的complete属性 轮询不断监测img的complete属性,如果为true则表明图片已经加载完毕,停止轮询.该属性所有浏览器都支持. <p id="p1"&g ...

  5. java socket报文通信(三)java对象和xml格式文件的相互转换

    前两节讲了socket服务端,客户端的建立以及报文的封装.今天就来讲一下java对象和xml格式文件的相互转换. 上一节中我们列举了一个报文格式,其实我们可以理解为其实就是一个字符串.但是我们不可能每 ...

  6. mysql死锁--源于外键关联

    死锁 存在于行级锁 存在的条件 1.资源只能同时被一个线程占有 2.资源占有不能被强制剥夺 3.请求和保持占有(在请求占有资源的同时能保持现有资源的占有) 4.死循环(一般做程序的人最关注的点) 一到 ...

  7. POJ 3254 状压DP

    题目大意: 一个农民有一片n行m列 的农场   n和m 范围[1,12]  对于每一块土地 ,1代表可以种地,0代表不能种. 因为农夫要种草喂牛,牛吃草不能挨着,所以农夫种菜的每一块都不能有公共边. ...

  8. 1.1 语言与平台 [Java]

    Java语言是静态类型.面向对象的语言: Java平台是提供运行时环境的软件: 生产和使用Java代码的整个过程:.java (javac) .class (类加载器) 转换后的.class (解释器 ...

  9. Js自动截取字符串长度,添加省略号“……”

    JavaScript字符串处理函数,根据定义的长度截取字符串,超出部分裁掉追加……,很多时候网页上显示的内容需要缩成“...”该方法用于处理字符串显示固定长度,超长部分用“...”代替: /**参数说 ...

  10. Azure构建PredictionIO和Spark的推荐引擎服务

    Azure构建PredictionIO和Spark的推荐引擎服务 1. 在Azure构建Ubuntu 16.04虚拟机 假设前提条件您已有 Azure 帐号,登陆 Azure https://port ...