Android 项目集成有米 SDK 添加广告
- 集成 SDK 的基本配置
- 步骤一
- 步骤二
- 步骤三
- 步骤四
- 集成 SDK 的无积分广告
- 步骤五
- 步骤六
- 步骤七
- 步骤八
- 步骤九
我们有时候需要在app
里面,添加一些广告,作为额外的一些收入,那么该怎么办呢。最好的办法,集成第三方的SDK
,这样就能满足我们的需求了。这里使用的是有米的SDK
,接下来介绍其使用步骤。
这里我们介绍其三种广告类型,分别为开屏广告、插屏广告和广告条广告。其他类型,读者自行去官方网站查看文档,进行配置。
集成 SDK 的基本配置
步骤一
首先,应该去有米官网注册用户名和密码。
步骤二
其次,在官网后台,添加应用。按要求填写应用信息,完成将得到appId
和appSecret
。这两个东西很重要,需要保存起来。之后要用到。
步骤三
接下来,将下载有米SDK
解压包,并配合官方文档,进行配置。SDK
解压包,需要根据自己的业务需求,进行相应的下载。
我下载的是第一个SDK
压缩包,并根据文档进行配置。
步骤四
接下来,将根据 有米 Android SDK 通用基本配置文档,进行通用基本配置。
1.导入SDK
:将SDK
压缩包解压缩,把YoumiAndroidSdk\libs
目录下的YoumiSdk_v7.5.0_2017-07-17.aar
放到项目的libs
目录下
2.添加依赖:在应用的build.gradle
中添加以下配置
repositories {flatDir {dirs 'libs'}
}dependencies {// name 为上一步导入SDK中导入到工程的aar文件名去除文件后缀的字符串// 比如上一步导入SDK中导入到工程的aar文件名为 YoumiSdk_v7.2.1_2017-05-04.aar,// 那么这里应该这样配置 compile name: 'YoumiSdk_v7.2.1_2017-05-04', ext: 'aar'compile name: 'YoumiSdk_*', ext: 'aar'
}
3.编译打包:在应用的build.gradle
中指定编译SDK
版本为 24 以上(包括24)
android {compileSdkVersion 24
}
改完之后,你发现有许多错误。你还将修改的地方如下图:
一般compileSDKVersion 24
和targetSdkVersion 24
一致,编译SDK版本
不能大于目标SDK版本
,且buildToolsVersion '24.0.3'
和compile 'com.android.support:appcompat-v7:24.2.0'
版本号要都与之相对应(即和compileSDKVersion 24
相对应)。
4.初始化应用信息:请务必在应用第一个 Activity(启动的第一个类)的 onCreate 中调用以下代码
import net.youmi.android.AdManager;
...
AdManager.getInstance(Context context).init(String appId, String appSecret, boolean isEnableYoumiLog);
init()
方法里第一个和第二个参数,就是上面我们之前得到的appId
和appSecret
,第三个参数是:是否开启有米SDK
的log
。项目集成好有米的SDK
,并给有米官方审核必须打开,之后上传市场则需要关闭了。
之后,需要Clean Project
一下,看看集成有没有报错。我之前老报:
Error:Execution failed for task ':app:processDebugManifest'.[:YoumiSdk_v7.5.0_2017-07-17:]F:\Android\Workspace\2048ProjectDemo\app\build\intermediates\exploded-aar\YoumiSdk_v7.5.0_2017-07-17\AndroidManifest.xml:23:3-29:15: Error: Invalid instruction 'targetApi', valid instructions are : REMOVE,REPLACE,STRICTACE,STRICT
这个错误,之后仔细查看,发现是有米SDK
内部错误,于是询问官方技术支持,重新换了一个解压包为:youmi_android_sdk_v7.5.0_2017-06-02.zip
,再根据以上配置,没有发现问题。
集成 SDK 的无积分广告
接下来,我们将集成有米 Android SDK 无积分广告,通过 有米 Android SDK 无积分广告开发者文档,进行配置。
步骤五
添加Android v4
兼容包:在应用的build.gradle
文件中添加以下配置。
dependencies {// 比如 compile 'com.android.support:support-v4:25.0.0'compile 'com.android.support:support-v4:xx.x.x'
}
关于 v4 包的版本号,要与 v7 包一致,如下图所示:
步骤六
开屏广告的设置
开屏广告为应用开启时进入主页面的过度页面广告。用户通过点击关闭按钮或等待5秒关闭开屏,从而进入到应用主界面。开屏需要在上一次启动时加载, 所以会造成第一次开启时没有开屏的情况。
1.预加载开屏广告
SpotManager.getInstance(Context context).requestSpot(SpotRequestListener spotRequestListener);
*注意:
不必每次展示开屏广告前都调用该接口,只需在应用启动时调用一次。*
这条API
,我发现我下载的SDK
里面没有,我也查看了官方的Demo
,里面也没使用。所以,这条我没使用。其实,它是告诉你SDK
内部的预加载使用的,你不需要调用它。
2.实例化开屏广告设置类
SplashViewSettings splashViewSettings = new SplashViewSettings();
3.设置开屏结束后跳转的窗口
splashViewSettings.setTargetClass(Class<?> targetClass);
参数为:广告结束后,你要跳转的目标Activity
。
4.设置开屏控件容器
// 使用默认布局参数
splashViewSettings.setSplashViewContainer(ViewGroup splashViewContainer);// 使用自定义布局参数
splashViewSettings.setSplashViewContainer(ViewGroup splashViewContainer,ViewGroup.LayoutParams splashViewLayoutParams);
默认布局中的ViewGroup
,参数应填入,相对于本布局的父布局控件。且自定义布局中的LayoutParams
,则是父布局控件的一些属性设置。
5.展示开屏广告
SpotManager.getInstance(Context context).showSplash(Context context,SplashViewSettings splashViewSettings, SpotListener spotListener);
SpotListener
为广告的监听接口
6.为了开屏能够正常展示,一定要调用以下生命周期方法
@Override
protected void onDestroy() {super.onDestroy();// 开屏展示界面的 onDestroy() 回调方法中调用SpotManager.getInstance(Context context).onDestroy();
}
7.应用退出:在应用的退出逻辑里面调用此接口
SpotManager.getInstance(Context context).onAppExit();
效果图,如下所示:
步骤七
设置插屏广告
1.设置横竖图模式
默认为竖图模式
如果插屏广告设置了横图模式,则当广告有横图图片数据时,会使用横图广告图片数据。
竖图: SpotManager.IMAGE_TYPE_VERTICAL
横图: SpotManager.IMAGE_TYPE_HORIZONTAL
SpotManager.getInstance(Context context).setImageType(int imageType);
*注意:
如果横图广告资源还没齐全。设置成横图模式可能会依然使用竖图广告,在广告补充后,会逐渐变成横图广告数据。*
2.设置展示动画
默认为高级动画
没有动画: SpotManager.ANIMATION_TYPE_NONE
简单动画: SpotManager.ANIMATION_TYPE_SIMPLE
高级动画: SpotManager.ANIMATION_TYPE_ADVANCED
SpotManager.getInstance(Context context).setAnimationType(int animationType);
*注意:
插屏动画效果不在4.0以下系统起作用。*
3.展示插屏广告
SpotManager.getInstance(Context context).showSpot(Context context,SpotListener spotListener);
展示插屏广告,一般可以在应用启动或者游戏通关等场景中调用。
4.插屏退出
SDK 提供插屏外部退出函数,可设置点击“后退键”或“Home键”关闭插屏,但调用后退键退出广告展示1秒内调用无效。
@Override
public void onBackPressed() {// 如果有需要,可以点击后退关闭插播广告。if (SpotManager.getInstance(Context context).isSpotShowing()) {SpotManager.getInstance(Context context).hideSpot();}
}
5.生命周期方法:为了插屏能够正常展示,一定要调用以下生命周期方法
@Override
protected void onPause() {super.onPause();// 插屏广告SpotManager.getInstance(Context context).onPause();
}@Override
protected void onStop() {super.onStop();// 插屏广告SpotManager.getInstance(Context context).onStop();
}@Override
protected void onDestroy() {super.onDestroy();// 插屏广告SpotManager.getInstance(Context context).onDestroy();
}
6.应用退出:在应用的退出逻辑里面调用此接口
SpotManager.getInstance(Context context).onAppExit();
效果图,如下所示:
步骤八
嵌入广告条
1.普通布局(适用于应用):配置布局文件
复制以下代码到要展示广告的 Activity 的 layout 文件中,并且放在合适的位置:
<LinearLayoutandroid:id="@+id/ll_banner"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center_horizontal">
</LinearLayout>
2.将控件加入布局:在展示广告的 Activity 类中,添加如下代码
// 获取广告条
View bannerView = BannerManager.getInstance(Context context).getBannerView(Context context, BannerViewListener bannerViewListener);// 获取要嵌入广告条的布局
LinearLayout bannerLayout = (LinearLayout) findViewById(R.id.ll_banner);// 将广告条加入到布局中
bannerLayout.addView(bannerView);
3.悬浮布局(适用于游戏):在展示广告的 Activity 的 onCreate 中,添加如下代码
// 实例化 LayoutParams(重要)FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);// 设置广告条的悬浮位置layoutParams.gravity = Gravity.BOTTOM | Gravity.RIGHT; // 这里示例为右下角// 获取广告条View bannerView = BannerManager.getInstance(Context context).getBannerView(Context context, BannerViewListener bannerViewListener);// 调用 Activity 的 addContentView 函数
((Activity) mContext).addContentView(bannerView, layoutParams);
4.生命周期方法:为了保证广告条能够正常展示,必须接入以下生命周期方法
@Override
protected void onDestroy() {super.onDestroy();// 展示广告条窗口的 onDestroy() 回调方法中调用BannerManager.getInstance(Context context).onDestroy();
}
效果图,如下所示:
以上的广告数据都是测试数据,我们集成好之后,需打包并提交有米官方审核,审核通过才是正式数据。
步骤九
上传应用并确定
审核通过后,上传到应用市场。这样使用者下载点击广告或者广告展示,我们的有米账户上才有金额。
Android 项目集成有米 SDK 添加广告相关推荐
- Android项目集成穿山甲开屏/插屏/横幅广告教程大全
Android项目集成穿山甲开屏/插屏/横幅广告教程大全 开发及项目环境说明 Android Studio 2020.3.1 Patch 4/203.7717.56.2031.7935034 jdk1 ...
- Android中集成高德地图SDK实现地图定位和导航功能(一)
一.前期准备工作 1.在高德地图开发者平创建一个自己的项目 名称和应用类型随便填 2.添加Key 1.添加key 2.获取SHA1值 2.1.使用windwos+R 输入cmd 打开控制窗口 输入 w ...
- Android中集成高德地图SDK实现地图定位和导航功能(二)
我们接着上一篇文章开始继续实现android中集成高德地图的SDK实现地图 定位,搜索,导航的功能 如何让地图在手机上实现呢? 1.配置AndroidManifest 中的权限申请 可以参考官方文档 ...
- 穿山甲android对接错误码40029,空Android项目集成Cocos、穿山甲。Lua调用网络接口。...
1. 搭建安卓空项目.集成cocos.穿山甲广告新建安卓项目start new android projectEmpty Activity包名这里要和穿山甲上面已创建的应用的包... 1. 搭建安卓空 ...
- Android端集成大疆SDK(MSDK)
Android端集成大疆MSDK 大疆无人机SDK集成项目 1. 无人机接入准备 2. 编译环境准备 3. 关键代码 4. 项目地址 大疆无人机SDK集成项目 本项目主要是集成大疆SDK,并通过大疆A ...
- Android 项目集成 Freeline
1.什么是FreeLine? (官网描述) Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具.它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并 ...
- Android Studio集成友盟SDK
为什么要集成友盟? 在企业开发中往往会给开发人员提出很多的开发要求,如做商城APP的时候,产品经理希望统计某个商品的购买量,或者运营的同事要求你统计APP的启动数,新增客户量,有时候开发人员需要监控A ...
- Android 项目集成腾讯X5浏览器内核
1.为什么要集成腾讯 X5 浏览器内核 肯定是事出有因,简单来说,JS代码写的不标准,与部分机型内嵌套的浏览器内核产生矛盾,出现底层(os)bug导致,不得不费事搞一个其它内核进行加载网页,具体原因. ...
- 轻松学习Ionic (二) 为Android项目集成Crosswalk(更新官方命令行工具)
现在集成crosswalk不用这么麻烦了!官方的命令行工具已经能让我们一步到位,省去很多工作,只需在cmd中进入项目所在目录(不能有中文目录,还得FQ),执行: [html] view plain c ...
最新文章
- 【Linux实用技术】LFS6.3构建实录
- 第62天:手风琴效果
- BeanShell用法汇总(部分摘抄至网络)
- C/S与B/S架构的区别和优缺点
- Android NFC 开发实例
- 使用 C# + SQLite + PetaPoco + django 快速打造桌面程序
- iOS图片编辑功能实现
- mysql+rsyslog+loganalyzer的部署方案
- 一次恐怖的 Java 内存泄漏排查实战
- mysql注入5.0以上_[Injection]对MYSQL 5.0服务器以上版本注入
- 我今年挣了......
- 智慧北京02_初步ui框架_ 主界面_viewPager事件_xUtils_slidingMenu_网络缓存_数据传递...
- 心理学博士做了阿里巴巴首席技术官并且给马云赚了5000亿
- 设置导航条上的主题一颜色
- ubuntu下查看opencv版本
- 360张图围绕成为3d_3D设计将在10分钟内成为专业人士
- 智能农场 阳光温湿度 检测 远程控制开关 机智云
- 成都java培训班要多少钱
- 有人用python抢到过吗_再不看就晚了,我用Python抢到了回家的火车票!
- Flowable 快速入门教程:Flowable 入门开发案例,结合流程设计器详细讲解
热门文章
- 网易我的世界手机版服务器文件在哪个文件夹,网易我的世界手机版怎么导入地图...
- landsat7数据预处理
- Win11聚焦锁屏壁纸不更新了?Win11锁屏聚焦不更换解决教程
- 2021-10-01
- 迅为6818开发板资料-CAN总线和RFID驱动的配置方法
- 《SMPLicit: Topology-aware Generative Model for Clothed People》论文解读
- 编辑PDF【没有PDF编辑器的会员时,且无破解软件】
- 数字水印技术研究综述
- python 语法错误 和异常_Python基础知识:新手学Python时常见的语法错误和异常
- 【项目】小帽商城 II(一)