Android 应用中插入广告的实例
作者:lqh 发布时间:2023-02-15 22:41:34
想必大家都知道,国内的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应用中插入广告的过程。


猜你喜欢
- 前言对于多线程,大家应该很熟悉。但是,大家了解线程池吗?今天,我将带大家全部学习关于线程池的所有知识。目录1. 简介2. 工作原理2.1 核
- Springboot Aspect切面的实现今天我们来说说spring中的切面Aspect,这是Spring的一大优势。面向切面编程往往让我
- 二叉搜索树的定义它是一颗二叉树任一节点的左子树上的所有节点的值一定小于该节点的值任一节点的右子树上的所有节点的值一定大于该节点的值特点: 二
- 概述众所周知使用 JWT 做权限验证,相比 Session 的优点是,Session 需要占用大量服务器内存,并且在多服务器时就会涉及到共享
- 在实际工作中,重试重发请求处理是一个非常常见的场景,比如:1、发送消息失败。2、调用远程服务失败。3、争抢锁失败。这些错误可能是因为网络波动
- 在WPF中,TreeView默认情况是不支持右键选定的,也就是说,当右键点击某节点时,是无法选中该节点的。当我们想在TreeViewItem
- 预备知识Java中的线程对象是Thread,新建线程也只有通过创建Thread对象的实例来创建。先说结论1 Runnable没有返回值的Fu
- 布局文件activity_main.xml<RelativeLayout xmlns:android="http://sch
- 本文实例为大家分享了java多线程实现交通灯管理系统的具体代码,供大家参考,具体内容如下一. 项目要求模拟实现十字路口的交通灯管理系统逻辑。
- Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的
- 一、this可以代表引用类的当前实例,包括继承而来的方法,通常可以省略。public class Person{ &n
- 这篇效果和上一篇:https://www.jb51.net/article/100638.htm的效果是一样的,但是不再在OnTouchEv
- 一、效果 点击开始: 点击停止: 二、在MainActivity中import android.graphics.P
- 前言在实际开发当中,对于某些关键业务,我们通常需要记录该操作的内容,一个操作调一次记录方法,每次还得去收集参数等等,会造成大量代码重复。 我
- 桶排序桶排序是计数排序的升级,计数排序可以看成每个桶只存储相同元素,而桶排序每个桶存储一定范围的元素,通过函数的某种映射关系,将待排序数组中
- 前言春节要到了,看惯了前端各种小游戏,确实做得很好,很精致。但是我也要为后端程序员稍微做一点贡献,做一款java版本的【年兽大作战】。这个游
- 什么是枚举类型枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的
- 1. RocketMQ Topic创建机制以下源码基于Rocket MQ 4.7.0RocketMQ Topic创建机制分为两种:一种自动创
- //写注册表RegistryKey regWrite;//往HKEY_CURRENT_USER主键里的Software子键下写一个名为“Te
- 第一步:后端简单建个SpringBoot项目,提供一个 helloWorld接口;版本选用 2.2.6.RELEASEpackage com