接入指南
接入友盟+SDK流程概述

引入&配置SDK
1、友盟+SDK为开发者提供了两种引入SDK方式:自动集成和手动集成。自动集成是指Android的maven依赖和iOS的cocospod配置,手动集成是指在下载页下载SDK后导入App工程。
2、SDK的配置包含了权限配置、混淆配置和埋点验证配置。
权限配置是指友盟+SDK所需要使用的App权限,友盟+SDK是不会主动申请权限的,依赖于开发者申请。
混淆配置是指App如果使用了应用混淆,需要保证友盟+SDK不被混淆,否则SDK内部的反射功能无法正常运行。
埋点验证配置是指,友盟+为开发者提供了集成后验证是否集成成功的功能,该功能需要进行初期的配置。
初始化SDK
初始化友盟+SDK后,App的基础数据就会上报,包括App的启动次数、渠道、版本和使用时长等。具体体现为产品中的“实时”和“统计”除“功能使用”外都会有数据。

高级功能
高级功能包括账号统计、自定义事件埋点和页面采集。
账号统计是指您可以将您用户的账号通过API上传至友盟+服务端,友盟+经过计算后将统计数据展示在U-App后台。注意该功能需要在“设置”中打开账号统计。
自定义事件是指您可以通过API监听App用户的行为事件,例如触发“购买”的次数、人数、商品名称、商品价格等。
页面采集是指您可以通过API监听App用户的页面访问行为,友盟+也会主动记录页面访问的顺序并提供数据分析结果。
集成测试
集成测试是友盟+为开发者提供的集成友盟+SDK是否成功的数据校验工具。通过集成测试您可以看到打开App后,上传至友盟+服务端的所有用户行为日志,通过这些日志可以确认集成、自定义事件埋点和页面采集是否符合您的预期。该功能依赖于埋点验证配置,和Android9.4.0和iOS7.3.0及以上版本的SDK。
相关知识
创建应用,获取Appkey
Appkey是友盟+为每一个应用生成的唯一标识码,用来在数据计算时,区分数据是哪个应用的,非常重要!请勿填写出错!
集成【友盟+】SDK之前,您首先需要到 【友盟+】官网 注册并且添加新应用,获得AppKey。
特别提醒: 建议开发者在注册账号时使用企业邮箱,避免使用个人邮箱,防止由于个人离职带来的问题。建议使用的账号形式:umeng@企业域名、apps@企业域名、dev@企业域名。

注意: 应用的安卓版和iOS版不能使用相同的AppKey,需要分开注册。 【友盟+】的应用名与实际应用名和包名无关,若注册应用时,提示应用名称已存在,建议命名为应用名+平台(iOS/Android)。
发送策略
设置发送策略说明
发送策略设定了用户产生的数据发送回【友盟+】服务器的频率。Android平台的数据发送策略有两种方式:
启动时发送:新增、活跃、启动次数等数据在APP本次打开时即刻发送,使用时长、自定义事件、错误统计等在使用过程中产生的所有消息数据都在下次启动应用时发送。如果应用程序启动时处在不联网状态,那么消息将会缓存在本地,下次再尝试发送。
按间隔发送:按特定间隔发送数据,间隔时长介于90秒与24小时之间。新增、活跃、启动次数等数据在APP本次打开时即刻发送,使用时长、自定义事件、错误统计等在使用过程中产生的所有数据都按间隔发送,如果应用程序启动时处在不联网状态,那么消息将会缓存在本地,下次再尝试发送。
发送策略设置方法
进入后台选择“应用”->设置->发送策略 页面自定义发送间隔。具体如下图:

注意: 在没有获取到在线配置时,默认使用启动时发送的策略; 在打开debug调试模式或者使用集成测试时,不受发送策略控制。
Session定义
修改session时长会影响应用使用时长,请理解以下内容后再合理修改!!!
在每个Activity的开始和结束时分别调用onResume和onPause方法。
当一个onResume方法与上一个Activity的onPause方法相差30秒,标志新Session的开始;当一个onPause方法发生后30秒内没有再触发任何一个Activity的onResume方法,标志该Session结束。如果应用Crash,Android平台处理成onPause, 照例通过30秒规则来判断是否是Session的终止。
即Android平台一次完整的启动包括如下三种情况:
从启动应用到关闭应用。
从启动应用到应用退至后台,且在后台运行时间超过30s。
启动应用后设备黑屏,黑屏时间超过30秒。
符合以上三种情况的前提下,Android启动次数+1。
当用户两次使用App之间间隔超过不超过30秒时,启动次数不会增加。SDK会将30秒内的连续两次进入应用看成一次完整的使用过程,两部分的使用时长会叠加计算。
例如:用户在App中按下系统Home键切到系统桌面,30秒内再切换回到App中,或进入其他程序(例如使用App中接听电话),经过一段时间(小于30秒)再返回之前的应用。都会当作一次启动过程计算,使用时长会连续叠加计算。
判断是否为新Session产生的时间间隔默认值为30秒,可以通过以下接口来自定义此Session间隔时间:
// interval 单位为毫秒,如果想设定为40秒,interval应为 40*1000.
MobclickAgent.setSessionContinueMillis(long interval);参数 | 含义 |
interval | 单位为毫秒,如果想设定为40秒,interval应为 40*1000。interval最小有效值为30秒。 |
常见问题
更多集成问题可点我进入常见问题