• 集成 SDK 的基本配置

    • 步骤一
    • 步骤二
    • 步骤三
    • 步骤四
  • 集成 SDK 的无积分广告
    • 步骤五
    • 步骤六
    • 步骤七
    • 步骤八
    • 步骤九

我们有时候需要在app里面,添加一些广告,作为额外的一些收入,那么该怎么办呢。最好的办法,集成第三方的SDK,这样就能满足我们的需求了。这里使用的是有米的SDK,接下来介绍其使用步骤。

这里我们介绍其三种广告类型,分别为开屏广告、插屏广告和广告条广告。其他类型,读者自行去官方网站查看文档,进行配置。

集成 SDK 的基本配置

步骤一

首先,应该去有米官网注册用户名和密码。

步骤二

其次,在官网后台,添加应用。按要求填写应用信息,完成将得到appIdappSecret。这两个东西很重要,需要保存起来。之后要用到。

步骤三

接下来,将下载有米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 24targetSdkVersion 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()方法里第一个和第二个参数,就是上面我们之前得到的appIdappSecret,第三个参数是:是否开启有米SDKlog。项目集成好有米的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 添加广告相关推荐

  1. Android项目集成穿山甲开屏/插屏/横幅广告教程大全

    Android项目集成穿山甲开屏/插屏/横幅广告教程大全 开发及项目环境说明 Android Studio 2020.3.1 Patch 4/203.7717.56.2031.7935034 jdk1 ...

  2. Android中集成高德地图SDK实现地图定位和导航功能(一)

    一.前期准备工作 1.在高德地图开发者平创建一个自己的项目 名称和应用类型随便填 2.添加Key 1.添加key 2.获取SHA1值 2.1.使用windwos+R 输入cmd 打开控制窗口 输入 w ...

  3. Android中集成高德地图SDK实现地图定位和导航功能(二)

    我们接着上一篇文章开始继续实现android中集成高德地图的SDK实现地图 定位,搜索,导航的功能 如何让地图在手机上实现呢? 1.配置AndroidManifest 中的权限申请 可以参考官方文档 ...

  4. 穿山甲android对接错误码40029,空Android项目集成Cocos、穿山甲。Lua调用网络接口。...

    1. 搭建安卓空项目.集成cocos.穿山甲广告新建安卓项目start new android projectEmpty Activity包名这里要和穿山甲上面已创建的应用的包... 1. 搭建安卓空 ...

  5. Android端集成大疆SDK(MSDK)

    Android端集成大疆MSDK 大疆无人机SDK集成项目 1. 无人机接入准备 2. 编译环境准备 3. 关键代码 4. 项目地址 大疆无人机SDK集成项目 本项目主要是集成大疆SDK,并通过大疆A ...

  6. Android 项目集成 Freeline

    1.什么是FreeLine? (官网描述) Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具.它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并 ...

  7. Android Studio集成友盟SDK

    为什么要集成友盟? 在企业开发中往往会给开发人员提出很多的开发要求,如做商城APP的时候,产品经理希望统计某个商品的购买量,或者运营的同事要求你统计APP的启动数,新增客户量,有时候开发人员需要监控A ...

  8. Android 项目集成腾讯X5浏览器内核

    1.为什么要集成腾讯 X5 浏览器内核 肯定是事出有因,简单来说,JS代码写的不标准,与部分机型内嵌套的浏览器内核产生矛盾,出现底层(os)bug导致,不得不费事搞一个其它内核进行加载网页,具体原因. ...

  9. 轻松学习Ionic (二) 为Android项目集成Crosswalk(更新官方命令行工具)

    现在集成crosswalk不用这么麻烦了!官方的命令行工具已经能让我们一步到位,省去很多工作,只需在cmd中进入项目所在目录(不能有中文目录,还得FQ),执行: [html] view plain c ...

最新文章

  1. 【Linux实用技术】LFS6.3构建实录
  2. 第62天:手风琴效果
  3. BeanShell用法汇总(部分摘抄至网络)
  4. C/S与B/S架构的区别和优缺点
  5. Android NFC 开发实例
  6. 使用 C# + SQLite + PetaPoco + django 快速打造桌面程序
  7. iOS图片编辑功能实现
  8. mysql+rsyslog+loganalyzer的部署方案
  9. 一次恐怖的 Java 内存泄漏排查实战
  10. mysql注入5.0以上_[Injection]对MYSQL 5.0服务器以上版本注入
  11. 我今年挣了......
  12. 智慧北京02_初步ui框架_ 主界面_viewPager事件_xUtils_slidingMenu_网络缓存_数据传递...
  13. 心理学博士做了阿里巴巴首席技术官并且给马云赚了5000亿
  14. 设置导航条上的主题一颜色
  15. ubuntu下查看opencv版本
  16. 360张图围绕成为3d_3D设计将在10分钟内成为专业人士
  17. 智能农场 阳光温湿度 检测 远程控制开关 机智云
  18. 成都java培训班要多少钱
  19. 有人用python抢到过吗_再不看就晚了,我用Python抢到了回家的火车票!
  20. Flowable 快速入门教程:Flowable 入门开发案例,结合流程设计器详细讲解

热门文章

  1. 网易我的世界手机版服务器文件在哪个文件夹,网易我的世界手机版怎么导入地图...
  2. landsat7数据预处理
  3. Win11聚焦锁屏壁纸不更新了?Win11锁屏聚焦不更换解决教程
  4. 2021-10-01
  5. 迅为6818开发板资料-CAN总线和RFID驱动的配置方法
  6. 《SMPLicit: Topology-aware Generative Model for Clothed People》论文解读
  7. 编辑PDF【没有PDF编辑器的会员时,且无破解软件】
  8. 数字水印技术研究综述
  9. python 语法错误 和异常_Python基础知识:新手学Python时常见的语法错误和异常
  10. 【项目】小帽商城 II(一)