移动广告平台的话,好像还挺多的,介绍就不一一介绍了(因为我也不太了解 orz),简单搜了一下

不过感觉这几年不怎么兴这个了...撑死就是开屏广告...带有其他广告形式的软件基本上被归类到流氓软件了

不如一个“高级账号”解锁全部功能圈钱来的实在 (逃

BAT应该也有自己的广告接入平台?我猜...

国际上主要是Admob

国内就比较多了,多盟、万普、有米、点入等等....

然后这篇文章关于万普...


集成万普广告平台

平台使用

万普平台官网:http://www.waps.cn/

首先肯定是注册

然后竟然随便到连个验证码都不用...就注册成功了...

然后在控制台添加一个应用

然后可以看到APP IDSDK的下载提示

b589ca763dd033d098d8eff1dc063a4d

然后会要求上传应用...和完善一些应用介绍信息


集成SDK

这部分的话,基本照搬文档了...

基础配置

  • 下载SDK
  • 加入 jar 包

将 Demo 解压包中 libs 目录中的 AppOffer_2.2.0.jar 包拷贝工程指定的 libs 目录,并执行 Build Path 将 jar 包引入。

(复制到libs目录,右键单击 add as libraries.....)

  • 添加配置信息 将以下权限添加到 AndroidManifest.xml 文件中

注:如果设置 android:targetSdkVersion,其值须设置为 15 或 15 以下 。

<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"/><!-- 适配android8.0系统(若设置了targetSdkVersion为26以上,则必须添加此权限) -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

混淆事项

如果应用进行了混淆编译,需要在混淆的配置文件中加入以下代码,避免SDK被二次混淆编译,才能确保SDK功能正常使用。如果开发者使用了定制名的SDK,也需要对相应的包名加入类似代码:

-keep public class cn.waps.** {*;}

-keep public interface cn.waps.** {*;}

-dontwarn cn.waps.**

集成代码

数据统计接口

该接口是所有其他接口能正常使用的基础,在每次应用启动时,必须调用该接口进行初始化操作,才能保证获得准确的统计数据。

步骤1:在的应用中第一个Activity类中(启动的第一个类),添加下面一行代码:

//方式①:通过代码设置APP_ID和APP_PID

AppConnect.getInstance("APP_ID","APP_PID",this);

APP_ID为应用标识,该值由万普后台添加应用后自动生成,点击“应用详情”获取;

APP _PID为分发渠道标识,使用规则请参见本文档附表《常用渠道编码表》。

除了使用以上方法外,也可以通过在AndroidManifest内添加配置来设置APP_ID和APP_PID:

<meta-data android:name="APP_ID"android:value="应用标识"/>

<meta-data android:name="APP_PID"android:value="分发渠道标识"/>

//方式②:通过AndroidManifest文件读取APP_ID和APP_PID

AppConnect.getInstance(this);

大概就是下图所示的样子~

注意:上传到万普平台官方合作商店(机锋、N多、木蚂蚁、优亿、联想、MM、十字猫等)的,需要采用方式②初始化,并需要严格按照《常用渠道编码表》的要求设置对应的APP_PID标识,才能快速通过商店审核;而对于其他可能会限制第三方广告SDK的应用商店,需要采用方式①初始化,并结合万普“在线参数”功能进行广告显示控制,在通过商店审核并正常发布之后再开启广告。

APP_PID

渠道名称

APP_PID

渠道名称

default

万普平台(默认)

QQ

腾讯应用

google

GooglePlay市场

3G

3G安卓市场

91

91手机助手

360

360应用

hiapk

安卓市场

baidu

百度应用

gfan

机锋市场*

sohu

搜狐应用

goapk

安智市场

163

网易应用*

appChina

掌上应用汇

UC

UC应用商店

mumayi

木蚂蚁市场*

dangle

当乐游戏中心

eoe

优亿市场*

samsung

三星乐园

nduo

N多市场*

mmw

移动MM商店

feiliu

飞流下载

xiaomi

小米市场

crossmo

十字猫商店*

lenovo

联想乐商店*

huawei

华为智汇云

nearme

NearMe商店

步骤2:在程序退出的处理方法中, 添加下面一行代码:

AppConnect.getInstance(this).close();

大概就是下图的样子~


积分墙、互动广告

积分墙

什么是积分墙?

积分墙是指在一个应用内展示各种积分(货币)任务(下载安装推荐
的优质应用、注册、填表等),以供用户完成任务获得积分(货币)
的广告解决方案。积分墙将广告与应用融为一体,避免生硬的广告推
送,对用户体验影响最小,单个用户对积分墙广告收入的贡献率比较
高。

强大学习引擎让您的流量更有效率

该引擎构建在多维立体优化模型基础上,依托用户在您应用中的所为
行为习惯,实时计算,动态决策,并且能够根据投放的历史数据自动
学习、自动调优,确保您的收入不断提升,使您每个广告用户的单位价
值更加高效。

积分墙广告计费方式

可按CPA(效果)计费,实时检测数据。
如按CPA(效果)计费,则不重复计费展示数、点击数。

积分墙(也称Offer,广告墙)是万普平台提供的一种集中展示型广告。开发者可在应用中合适的位置加入“推荐应用”、“免费赚积分”等类似字样的功能,获取更高的广告收益。添加如下代码,即可显示万普平台推荐应用列表:

AppConnect.getInstance(this).showOffers(this);

//对于使用“服务器通知接口”时,则使用下面的方法进行设置userId

AppConnect.getInstance(this).showOffers(this, userId);

说明:以上方法调用的为综合积分墙。SDK还提供了showAppOffers(this)、showGameOffers(this)两个接口,用于直接调用推荐软件列表、推荐游戏列表的积分墙。

提示:开发者可通过万普后台的“广告设置”功能,手动设置积分墙的显示样式和广告内容。

积分墙关闭监听接口(可选,可在积分墙关闭时调用getPoints方法更新积分或进行其它操作)

//设置关闭积分墙的监听接口,必须在showOffers接口之前调用

AppConnect.getInstance(this).setOffersCloseListener(new AppListener(){

@Override

public void onOffersClose() {

// TODO 关闭积分墙时的操作代码

}

});


假设我们有一个按钮

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="积分墙"android:onClick="show"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent" /></android.support.constraint.ConstraintLayout>

书写点击事件

package com.example.advertisement;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;import cn.waps.AppConnect;
import cn.waps.AppListener;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化AppConnect.getInstance(this);//监听广告墙关闭事件AppConnect.getInstance(this).setOffersCloseListener(new AppListener(){@Overridepublic void onOffersClose() {super.onOffersClose();// TODO 关闭积分墙时的操作代码}});}@Overrideprotected void onDestroy() {super.onDestroy();//关闭AppConnect.getInstance(this).close();}public void show(View view){AppConnect.getInstance(this).showOffers(this);}
}

效果如下:

然而8.0及以上亲测显示不出来?官方文档也没找到相关的说明...唯一提到适配的...似乎是适配“不能安装”的问题


互动广告

互动广告是一个显示在应用内固定位置高度为50像素广告条,将自动显示万普平台提供的广告。结合虚拟货币功能使用,可获得最佳的广告效果和用户体验。

方式①:通过布局文件添加互动广告

步骤1: 复制如下代码到相应Activiy的Layout文件中,并放置在合适的位置:

<LinearLayout  android:id="@+id/AdLinearLayout"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center_horizontal"/>

步骤2: 在调用样式文件的Activity类中, 添加下面的代码:

LinearLayout adlayout =(LinearLayout)findViewById(R.id.AdLinearLayout);

AppConnect.getInstance(this).showBannerAd(this, adlayout);

方式②:纯代码模式添加互动广告

LinearLayout adlayout = new LinearLayout(this);

adlayout.setGravity(Gravity.CENTER_HORIZONTAL);

RelativeLayout.LayoutParamslayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
                                                ViewGroup.LayoutParams.WRAP_CONTENT);

AppConnect.getInstance(this).showBannerAd(this, adlayout);

layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);//设置顶端或低端

this.addContentView(adlayout, layoutParams);

互动广告无数据时的回调监听:(2.3.2版本加入

AppConnect.getInstance(this).setBannerAdNoDataListener(new AppListener(){

@Override

public void onBannerNoData() {

Log.e("debug", "Banner广告无数据");

}

});

该接口需要在showBannerAd之前调用。

我们使用方式一,大概就这样,fill_parent是比较老的写法了,可以改成match_parent

然后让它程序创建就显示出来

效果如下

好吧 展示不出来...感觉不是我的问题,它的广告源的链接戳进去都没有东西的样子..不会已经倒闭了把 orz

插屏广告、迷你广告

插屏广告

插屏广告是1.8版本SDK开始推出的一种新型广告形式,以全屏对话框的新式显示广告,支持透明背景和浮层特效。和传统Banner广告相比,显示效果更炫,转化率更高,而且具有良好的用户体验。不占用固定广告位,特别适用于应用启动、游戏通关等场景使用。

始化(预先加载)广告数据:

AppConnect.getInstance(this).initPopAd(this);

说明:该方法将通过异步方式预先加载5-10条插屏广告到本地缓存,如果事先未通该方法初始化广告,或者在数据未加载完成的情况下直接显示插屏广告,将重新异步加载一次数据,等待数据加载完成后才能显示出广告,会造成一定的延时。

显示插屏广告:

AppConnect.getInstance(this).showPopAd(this);

//调用方式2:显示插屏广告时设置关闭插屏广告的监听接口 (选用)

AppConnect.getInstance(this).showPopAd(this, new AppListener(){

@Override

public void onPopClose() {super.onPopClose();   }

});

说明:该方法将根据应用当前场景,用自适应方式显示插屏广告。

获取插屏广告对话框(可选):

Dialog popAdDialog = AppConnect.getInstance(this).getPopAdDialog();

说明:该方法仅用于先通过调用showPodAd方法正常显示出插屏广告后,获取到插屏广告对话框实例,实现对插屏广告的显示过程灵活控制,比如监听广告关闭事件、定时自动关闭广告等自定义效果,但不能用于取代showPodAd方法直接显示插屏广告。当插屏广告尚未正常显示时,该方法可能会获取到空值。

获取插屏广告内嵌布局(可选):

//获取默认宽高的插屏广告布局

View popAdDialog = AppConnect.getInstance(this).getPopAdView(this);//默认400*400

//获取可自定义宽高的插屏广告布局

View popAdDialog = AppConnect.getInstance(this).getPopAdView(this, width, height);

说明:该接口可用于将插屏广告灵活插入到应用内,用于实现开屏广告、退屏广告、界面内嵌入式广告等灵活的广告形式。随本文档提供的Demo程序中,提供了一份完整的开屏广告和退屏广告的实现样例和源码,开发者可直接引用,也可进行任意修改用于实现更多的广告形式。

判断插屏广告是否初始化完成:

//判断插屏广告是否已初始化完成,用于确定是否能成功调用插屏广告

booleanhasPopAd = AppConnect.getInstance(this).hasPopAd(this);

从2.3.1版本开始,插屏广告展示时默认屏蔽了设备back键可关闭广告的功能。如需启用back键的关闭插屏广告的功能,可在调用插屏广告之前添加如下代码:

// 参数true表示可使用设备back键关闭插屏广告,不调用该代码则使用默认值false不可关闭

AppConnect.getInstance(this).setPopAdBack(true);

互动广告无数据时的回调监听:(2.3.2版本加入

AppConnect.getInstance(this).setPopAdNoDataListener(new AppListener(){

@Override

public void onPopNoData() {

Log.e("debug", "插屏广告已经没有数据");

}

});

注:该接口需要在showPopAd之前调用。

迷你广告

迷你广告是一种基于自定义广告的广告形式,每个广告由一个微缩图标和文字链组成,高度仅为24像素,文字颜色、背景颜色及透明度可自定义,特别适用于广告位空间有限的游戏类应用。和传统的Banner大广告条相比,迷你广告采用了流量压缩和本地缓存方式轮换广告,不仅省广告位,而且非常省流量,广告轮换频率更高,相比传统Banner广告条有更高的收益。

步骤1: 复制如下代码到相应Activiy的Layout文件中,并放置在合适的位置:

<LinearLayoutandroid:id="@+id/miniAdLinearLayout"

android:layout_width="wrap_parent"

android:layout_height="wrap_content"

android:gravity="center_horizontal"/>

步骤2: 在调用样式文件的Activity类中, 添加下面的代码:

//设置迷你广告背景颜色

AppConnect.getInstance(this).setAdBackColor(Color.argb(50, 120, 240, 120));

//设置迷你广告广告语颜色

AppConnect.getInstance(this).setAdForeColor(Color.YELLOW);

//若未设置以上两个颜色,则默认为黑底白字

LinearLayout miniLayout =(LinearLayout)findViewById(R.id.miniAdLinearLayout);

AppConnect.getInstance(this).showMiniAd(this, miniLayout, 10); //默认10秒切换一次广告

安卓SDK——广告植入相关推荐

  1. Android手机APP广告植入与产品上线

    作为程序猿,辛辛苦苦开发几款软件换点零花钱改善下生活是可以理解的.当你开发出一款自己都佩服的应用时,恭喜啦,你完全可以将产品插入广告上线,赚点广告费用. 想要得到广告费,我们首先得选择一个广告联盟平台 ...

  2. Android学习——广告植入

    广告植入(集成万普广告平台) 平台使用 万普平台官网:http://www.waps.cn/ 集成万普SDK 添加配置信息 将以下权限添加到 AndroidManifest.xml 文件中 注:如果设 ...

  3. 消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

    消除安卓SDK更新时的"https://dl-ssl.google.com refused"异常的方法 消除安卓SDK更新时的"https://dl-ssl.google ...

  4. 解决安卓SDK更新dl-ssl.google.com无法连接的方法

    解决安卓SDK更新dl-ssl.google.com无法连接的方法 参考文章: (1)解决安卓SDK更新dl-ssl.google.com无法连接的方法 (2)https://www.cnblogs. ...

  5. 如何解决安卓SDK无法下载Package的问题

    安装好Android SDK后,打开Android SDK Manager下载API时一直显示"Done loading packages"却迟迟不能前进,界面显示的Package ...

  6. Google下重手了!安卓App广告弹窗被打击

    2019独角兽企业重金招聘Python工程师标准>>> 说起安卓用户最烦的东西,安卓App广告绝对算是一个.由于安卓独特的生态特点,很多安卓App都以广告作为主 要盈利途径.但打打一 ...

  7. 广告植入、电商导流……“变味”的线上演唱会

    文/黄康瑄 来源/螳螂财经(ID:TanglangFin) 11月14日,袁咏琳举行线上演唱会,用音乐和歌迷一同度过生日.今年,越来越多音乐人选择线上演出的形式,来替代因疫情而被迫中止的现场演唱会.各 ...

  8. 安装安卓SDK和JDK的简便方法

    安装安卓SDK和JDK的简便方法 直接在VS的安装程序里选:使用.NET的移动开发,其中就包括了安卓SDK,JAVA SE等 另外:自己手动安装SDK时,不要选模拟器相关的东西,太大了,如果每个版本都 ...

  9. Intellij IDEA的java环境与安卓sdk配置实例教程

    IDEA:Intellij IDEA 版 本:2016.2 下载地址:http://www.jetbrains.com/idea/ 适 用:所有java开发者,安卓开发 一.Intellij IDEA ...

  10. 不必担心安卓系统被植入棱镜

    日前,有媒体报道了一则耸人听闻的新闻"安卓系统被曝植入棱镜",来自美国国家安全局(NSA)的程序员,已经将一段NSA所编写的代码提交给Google,并且放入了其移动操作系统--An ...

最新文章

  1. JavaScript 实现鼠标移动时实时获取其相对盒子的偏移
  2. SAP MM 初阶循环盘点的ABCD 标识符
  3. 下列不属于python第三方库的是-python后端开发工程师考证试题
  4. 爱情,没有对不起;只有不珍惜……[
  5. 小米9拍照黑科技:基于NAS的图像超分辨率算法
  6. Akamai托管服务应对多重网络性能挑战
  7. 在神经网络中使用辍学:不是一个神奇的子弹
  8. 入门机器学习,开启人工智能大门!
  9. Ecstore中的微信支付怎么样配置
  10. acs712电流检测怎么用_工程师都用这个巧妙廉价的电流检测电路!
  11. javasocket编程(javasocket通信)
  12. 双系统扩展Linux内存
  13. ong拼音汉字_汉语拼音ong的发音方法
  14. 放大器的压摆率对电路性能的影响-运放压摆率
  15. GUI使用2——总结NGUI、tookit2D、GUI比较
  16. python获取erp数据_python自学之路-数据读取
  17. Python写游戏,我上我也行 - Flappy Bird 03
  18. 手持设备的可用性研究
  19. 收藏 | 83篇文献,万字总结强化学习之路
  20. Nos项目 ChannelInfo添加SKIP和FAV的图标

热门文章

  1. easyexcel1.0导出excel测试案例
  2. python利用WMI等监控获取windows状态如CPU、内存、硬盘等信息
  3. MongoDB分片集群部署(三)
  4. 中国期货业协会——期货投教网 知识汇总
  5. Unity学习笔记:Rule Tile、Advance Rule Overide Tile、Rule Override Tile的用法【By Chutianto】
  6. 在mosquitto和Node-Red间使用基于的MQTTS双向认证通讯( 私有CA)
  7. ubuntu下dbus工具d-feet不显示路径和接口
  8. python tkinter 自主小项目——计算器往事
  9. mysql的填充因子_确定SQL Server填充因子(FILLFACTOR)值的方法
  10. SQL Server 索引碎片和填充因子