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应用中插入广告的过程。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


猜你喜欢
- 目录MotionEventViewViewGroup事件拦截寻找目标视图,分发ACTION_DOWN分发除ACTION_DOWN外的其他事件
- 开发环境: springboot + mybatis plus场景:在DAO的bean中有byte[]类时,写入可以成功,但是读取不行。从错
- 本文主要介绍了C# 泛型List排序的实现,分享给大家,具体如下:代码using System;using System.Collectio
- 1. AIE (演示地址)AIE是一个开源的ajax图片编辑器,基于ExtJS与PHP ImageMagick开发,易于与博客/相册等其它应
- 一、Swagger介绍Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的web服务。目标是使客户端和文件
- 前言最近一段时间看了一些介绍ViewDragHelper的博客,感觉这是一个处理手势滑动的神奇,看完以后就想做点东西练练手,于是就做了这个A
- 本文实例为大家分享了java + dom4j.jar提取xml文档内容的具体代码,供大家参考,具体内容如下资源下载页:点击下载本例程主要借助
- 前言之前看到某公司的官网的文章的浏览量刷新一次网页就会增加一次,给人的感觉不太好,一个公司的官网给人如此直白的漏洞,我批量发起请求的时候发现
- 今天分享的是用系统自带的相机实现一键拍照功能。public class MainActivity extends AppCompatActi
- 本文实例讲述了C#修改及重置电脑密码DirectoryEntry实现方法。分享给大家供大家参考。具体如下:C#修改电脑密码方法如下:///
- 关于Context我们首先应该知道:(1)它描述的是一个应用程序环境的信息,即上下文。(2)该类是一个抽象(abstract class)类
- 前言:什么是JDBCJava 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户
- 一. SpringBoot集成liquibase项目集成liquibase作用对数据库表字段进行版本控制项目初始化部署时初始化数据库表和数据
- 本文实例为大家分享了java实现时间与字符串之间转换的具体代码,供大家参考,具体内容如下1. long字符串转换成yyyy-MM-dd HH
- 前言在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,例如使用devtool来实现
- 一、讲个事故接口安全老生常谈了过年之前做了过一款飞机大战的H5小游戏,里面无限模式-需要保存用户的积分,因为使用的Body传参,参数是可见的
- 1、简单又有效的方法是使用PreparedStatement采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX(如:s
- 一、概要1.Java虚拟机(Jvm)是什么?2.Java虚拟机是用来干什么的?3.Java虚拟机它的体系结构是什么样子的?4.Java虚拟机
- Android中判断网络是否连接实例详解在android中,如何监测网络的状态呢,这个有的时候也是十分重要的,方法如下:public cla
- 思想利用栈和队列都可以实现树的迭代遍历。递归的写法将这个遍历的过程交给系统的堆栈去实现了,所以思想都是一样的、无非就是插入值的时机不一样。利