Android 应用中插入广告详解及简单实例
作者:lqh 时间:2022-11-22 20:40:04
想必大家都知道,国内的Android应用基本都是免费的,那么开发者如何获得收入呢?应用中插入广告是一个比较常用的盈利手段。本文就讲解如何在Android应用中插入广告。
国内的广告平台有很多,用户数量比较多的有万普,有米,多普。下面就不一一介绍了,免得说我打广告。本文以万普为例。
1、首先去万普官网下载sdk,把sdk里面的jar包导入到项目的lib目录下。
2、修改AndroidManifest.xml文件。
确保应用具有以下几项权限:
XML/HTML代码
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<!--以下两个权限为可选项,用于支持特殊广告形式-->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
在<application>段内添加以下内容:
XML/HTML代码
<activity android:name="com.waps.OffersWebView" android:configChanges="keyboardHidden|orientation"/>
<!--以下属性为应用ID,从万普后台获取-->
<meta-data android:name="WAPS_ID" android:value="应用标识,这个你再万普申请一个应用就会生成" />
<!--以下属性为分发渠道ID,编码表参见本文档末附表-->
<meta-data android:name="WAPS_PID" android:value="分发渠道标识,你需要的发布渠道比如机锋,安卓市场" />
3、接口代码
(一)数据统计接口
该接口是所有其他接口能正常使用的基础,在每次应用启动时,必须调用该接口,才能保证获得准确的统计数据。
步骤1:在的应用中第一个Activity类中(启动的第一个类),添加下面一行代码:
Java代码
//方式①:通过AndroidManifest文件读取WAPS_ID和WAPS_PID
AppConnect.getInstance(this); //必须确保AndroidManifest文件内配置了WAPS_ID
//方式②:通过代码设置WAPS_ID和WAPS_PID
AppConnect.getInstance("WAPS_ID","WAPS_PID",this);
步骤2:在程序退出的处理方法中,添加下面一行代码:
Java代码
//以下方法将用于释放SDK占用的系统资源
AppConnect.getInstance(this).finalize();
4、广告条添加
在布局文件添加:
XML/HTML代码
<LinearLayout
android:id="@+id/AdLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"/>
在activity添加以下代码:
Java代码
LinearLayout container =(LinearLayout)findViewById(R.id.AdLinearLayout);
new AdView(this,container).DisplayAd();
5、迷你广告条添加
步骤1:复制如下代码到相应Activiy的Layout文件中,并放置在合适的位置:
XML/HTML代码
<LinearLayout android:id="@+id/miniAdLinearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"/>
步骤2:在调用样式文件的Activity类中, 添加下面的代码:
Java代码
//设置迷你广告背景颜色
AppConnect.getInstance(this).setAdBackColor(Color.argb(50, 120, 240, 120));
//设置迷你广告广告语颜色
AppConnect.getInstance(this).setAdForeColor(Color.YELLOW);
//若未设置以上两个颜色,则默认为黑底白字
LinearLayout miniLayout =(LinearLayout)findViewById(R.id.miniAdLinearLayout);
new MiniAdView(this, miniLayout).DisplayAd(10); //默认10秒切换一次广告
6、应用列表添加
应用列表(积分墙)是收入主要来源,高于广告收入,单个下载价格一般是0.5元,很可观,
1)activtiy,点击事件添加
AppConnect.getInstance(this).showOffers(this);
为了更好的让推荐应用下载,一般是结合积分,比如一款看图软件,假如你要看图,结果积分不够,没办法只有下载应用获取积分。
步骤1:从服务器端获取用户点数/虚拟货币余额:
AppConnect.getInstance(this).getPoints(this);
步骤2:确保在this类中实现UpdatePointsNotifier接口,实现下面的两个方法,用于异步接收服务器返回的结果:
public void getUpdatePoints(String currencyName, int pointTotal);//获取成功
public void getUpdatePointsFailed(String error);//获取失败
2)花费用户虚拟货币
花费(扣除)用户的虚拟货币接口:
AppConnect.getInstance(this).spendPoints(int amount, this);
调用此方法的响应结果将通过this中实现的UpdatePointsNotifier接口返回
3)奖励用户虚拟货币
授予(增加)用户虚拟货币的接口:
AppConnect.getInstance(this).awardPoints(int amount, this);
调用此方法的响应结果将通过this中实现的UpdatePointsNotifier接口返回。
注意,所有通过万普广告获得的虚拟货币将自动给予到用户,无需调用该接口。该接口仅用于用户完成了开发者指定的其他任务的情况下额外给予用户虚拟货币。开可通过管理后台禁用该接口。
这样就基本完成了在Android应用中插入广告的过程。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
深入理解Java设计模式之命令模式
![](https://img.aspxhome.com/file/2023/4/59684_0s.jpg)
Java基础之finally语句与return语句详解
C# 文件上传下载(Excel导入,多线程下载)功能的实现代码
c语言版本二叉树基本操作示例(先序 递归 非递归)
![](https://img.aspxhome.com/file/2023/1/120821_0s.jpg)
Springboot项目出现java.lang.ArrayStoreException的异常分析
Spring Boot+Mybatis+Druid+PageHelper实现多数据源并分页的方法
![](https://img.aspxhome.com/file/2023/9/65269_0s.png)
Android编程使用WebView实现文件下载功能的两种方法
Spring+Vue整合UEditor富文本实现图片附件上传的方法
![](https://img.aspxhome.com/file/2023/3/78033_0s.png)
java中String、StringBuffer与StringBuilder的区别
![](https://img.aspxhome.com/file/2023/7/61517_0s.jpg)
Springbean的几种注入方式都了解吗
C#实现Winform小数字键盘模拟器
![](https://img.aspxhome.com/file/2023/5/92905_0s.gif)
java实现的日期时间转换工具类完整示例
Netty分布式从recycler对象回收站获取对象过程剖析
Springboot启动后执行方法小结
java中实现分页的几种常见方式总结
![](https://img.aspxhome.com/file/2023/8/90978_0s.jpg)
使用@Order控制配置类/AOP/方法/字段的加载顺序详解
![](https://img.aspxhome.com/file/2023/1/58421_0s.png)
spring cloud config 配置中心快速实现过程解析
Java面试题冲刺第五天--基础篇2
![](https://img.aspxhome.com/file/2023/7/58617_0s.png)