android开发之嵌入广告
android开发网(JUAPK)
交流Q群:243878945
移动广告平台服务商提供了各自的SDK开发包,我们只要把相关的库文件导入到工程中,进行一些简单的设置就可以把广告添加到应用中。
本文以 “有米广告平台”为例!!
国内AD广告平台有:谷歌、有米、芒果(各有优势)
国外有谷歌 Admob (美金)
第一步、注册开发者账号
开发者首先需要注册广告平台账号,通过账号可以登录到移动广告平台,进行管理应用、查看广告报表等操作,如图15-8所示。
图15-8 注册开发者账号界面效果图
第二步、激活账号
当提交注册之后,会收到一条确认邮件,通过邮件中的链接可以激活账号。确认邮件有可能会被当成垃圾邮件,如果收件箱中没有确认邮件,可以到垃圾邮件箱中查找确认邮件。如图15-9所示。
图15-9激活账号效果图
第三步、下载sdk
账号激活后,使用账号登陆到移动广告平台,点击sdk下载菜单打开下载页面。点击Android 图标就可以下载Android版本的SDK开发包。如图15-10所示。
图15-10下载sdk效果图
第四步、解压SDK压缩包
下载SDK压缩包之后,可以看到里面有个三个目录分别是:lib、sample、doc。lib目录中存放的是SDK开发包,sample目录存放的是使用样例,doc目录中存放的是参考文档,通过它可以掌握开发包的使用,如图15-11所示文档目录。
图15-11开发文档目录
第五步、添加应用
登录到移动广告平台,添加一个新应用,如图15-12所示。添加应用之后移动广告平台会给这个应用分配一个唯一的应用ID和对应的密钥。在使用广告插件时需要设置应用的ID和密钥。
图15-12添加应用效果图
每个应用都会有一个唯一的应用ID和对应的密钥,如图15-13所示。
图15-13应用ID和密钥效果图
第六步、引入SDK开发包
与其他的第三方库一样移动广告SDK开发包也是jar文件,导入jar文件的方法如下:
1)右键工程根目录,选择“Properties”菜单
2)在左面板中选择“Java Build Path”选项
3)然后选择“Libraries”标签
4)点击“Add External JARs„”
5)选择 youmi-android.jar 的目录路径
6)点击“OK”即导入成功,如图15-14所示。
图15-14引入SDK开发包效果图
第七步、配置用户权限
请务必配置以下权限,否则将有可能获取不到广告。
android.permission.INTERNET 连接网络权限 INTERNET ,用于请求广告
android.permission.READ_PHONE_STATE 用于精确统计用户手机的系统信息
android.ACCESS_NETWORK_STATE 用于精确识别网络接入点等信息
android.permission.ACCESS_COARSE_LOCATION 有助于精准投放地域广告以及帮助统计使用应用程序的用户的地区分布情况
android.permission.WRITE_EXTERNAL_STORAGE 有助于实现图片资源的缓存,节省流量,并可获得更好的用户体验
如下代码所示,在AndroidManifest.xml 文件中配置以下权限:
1 | <uses-permission android:name="android.permission.INTERNET"></uses-permission> | ||
2 | <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> |
3 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> | |
4 | <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> |
5 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> |
第八步、添加AdActivity
AdActivity是广告详情展示的载体,需要在AndroidManifest.xml中添加AdActivity,代码如下:
1 | <activity android:name="net.youmi.android.AdActivity" | |
2 | android:configChanges="keyboard|keyboardHidden|orientation"/> |
第九步、初始化账号信息
在主Activity的onCreate中调用AdManager.init() 初始化 App ID 、AppSecret、请求广告间隔和测试模式等参数(请务必在任意AdView初始化前调用一次)。
未上传应用安装包、未通过审核的应用、模拟器运行,都只能获得测试广告,审核通过后,模拟器上依旧是测试广告,真机才会获取到正常的广告。
1 | AdManager.init(Context context,String appid, String appsec, intintervalSecond, boolean isTestMode); |
|
|
第一个参数为应用发布Id
第二个参数为应用密钥
第三个参数是请求广告的时间间隔,有效的设置值为30至200,单位为秒
第四个参数是测试模式设置为true时,可以获取测试广告,正式发布请设置此参数为false。
第十步、提交审核应用
在应用中使用移动广告平台服务商提供的SDK开发包,需要上传加入广告控件后的应用包接受审核,如图15-15所示。通常会在比较短的时间内审核通过,应用审核通过后,广告插件就会变成运行状态。当用户使用应用时,如果点击广告就会产生给开发者带来广告收益。
图15-15 应用上传效果图
除了使用Java代码添加广告插件之外,还可以使用xml布局嵌入广告,方法如下:
首先,建立attrs.xml文件
在 res/values 文件夹中添加 attrs.xml。如果没有添加这个文件,就不能在 layout布局文件中设置 AdView 广告控件的属性。attrs.xml 文件的内容如下:
01 | <?xml version="1.0" encoding="utf-8"?> | ||
02 | <resources> |
03 | <declare-styleable name="net.youmi.android.AdView"> | ||
04 |
|
05 | <!--广告背景颜色[只对文字广告有效](取值范围为#000000----#ffffff) --> | ||
06 | <attr name="backgroundColor" format="color" /> |
07 | <!--广告文本颜色[只对文字广告有效](取值范围为#000000----#ffffff) --> | ||
08 | <attr name="textColor" format="color" /> |
09 | <!--广告背景透明度[只对文字广告有效],默认为 255,设置范围0-255 --> | ||
10 | <attr name="backgroundTransparent" format="integer"/> |
11 |
| ||
12 | </declare-styleable> |
13 | </resources> |
然后,布局xml中嵌入广告控件
在xml中使用广告控件类似于使用自定义控件,需要使用完整的类名作为标签名称,代码如下:
01 | <?xml version="1.0" encoding="utf-8"?> | ||
02 | <!-- 需要设置命名空间 :umadsdk --> |
03 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
04 | xmlns:umadsdk="http://schemas.android.com/apk/res/com.youmi" |
05 | android:orientation="vertical" | |
06 | android:layout_width="fill_parent" |
07 | android:layout_height="fill_parent"> | |
08 | <net.youmi.android.AdView |
09 | android:id="@+id/adView" | |
10 | android:layout_width="fill_parent" |
11 | android:layout_height="wrap_content" | |
12 | umadsdk:textColor="#ffffff" |
13 | umadsdk:backgroundColor="#4076AA" | |
14 | umadsdk:backgroundTransparent="155"/> |
15 | </LinearLayout> |
注意: xmlns:umadsdk=”http://schemas.android.com/apk/res/您的应用包名”这句一定要加上,不然编辑器会提示错误。
在应用中加入广告插件之后运行效果如下图所示,在模拟中显示的效果为测试广告,只有广告审核通过后才会在真机上显示正式的广告内容。
图15-16 Demo运行效果图1