1. 数据上报策略
1.1. Android数据上报策略配置
1.1.1. 上报策略基础介绍
设置数据上报策略,可以有效节省流量。使用以下3种方式调整app的数据上报策略:
(1)app启动时指定上报策略(默认为APP_LAUNCH)
腾讯移动分析目前支持的上报策略包括6种。
编号 | 策略名称 | 说明 |
---|---|---|
1 | INSTANT | 实时发送,app每产生一条消息都会发送到服务器。 |
2 | ONLY_WIFI | 只在wifi状态下发送,非wifi情况缓存到本地。 |
3 | BATCH | 批量发送,默认当消息数量达到30条时发送一次。 |
4 | APP_LAUNCH | 只在启动时发送,本次产生的所有数据在下次启动时发送。 |
5 | DEVELOPER | 开发者模式,只在app调用void commitEvents(Context)时发送,否则缓存消息到本地。 |
6 | PERIOD | 间隔一段时间发送,每隔一段时间一次性发送到服务器。 |
SDK默认为APP_LAUNCH+wifi下实时上报,对于响应要求比较高的应用,比如竞技类游戏,可关闭wifi实时上报,并选择APP_LAUNCH或PERIOD上报策略。
(2) 考虑到wifi上报数据的代价比较小,为了更及时获得用户数据,SDK默认在WIFI网络下实时发送数据。可以调用下面的接口禁用此功能(在wifi条件下仍使用原定策略)。
void StatConfig.setEnableSmartReporting (boolean isEnable)
(3) 通过在Web界面配置,开发者可以在线更新上报策略,替换app内原有的策略,替换后的策略立即生效并存储在本地,app后续启动时会自动加载该策略。
上面3种方式的优先级顺序:wifi条件下智能实时发送>web在线配置>本地默认。
1.1.2. 数据上报相关的设置接口
(1) 设置最大缓存未发送消息个数(默认1024)
void StatConfig.setMaxStoreEventCount(int maxStoreEventCount)
缓存消息的数量超过阈值时,最早的消息会被丢弃。
(2) (仅在发送策略为BATCH时有效)设置最大批量发送消息个数(默认30)
void StatConfig.setMaxBatchReportCount(int maxBatchReportCount)
(3) (仅在发送策略为PERIOD时有效)设置间隔时间(默认为24*60,即1天)
void StatConfig.setSendPeriodMinutes(int minutes)
(4) 开启SDK LogCat开关(默认false)
void StatConfig.setDebugEnable(boolean debugEnable)
(注意:在发布产品时,请将此开关设为false)
1.2. iOS数据上报策略配置
1.2.1. 上报策略基础介绍
设置数据上报策略,可以有效节省流量。使用以下3种方式调整app的数据上报策略:
(1)app启动时指定上报策略(默认为MTA_STRATEGY_APP_LAUNCH)
@property MTAStatReportStrategy reportStrategy
腾讯移动分析目前支持的上报策略包括6种:
编号 | 策略名称 | 说明 |
---|---|---|
1 | MTA_STRATEGY_INSTANT | 实时发送,app每产生一条消息都会发送到服务器。 |
2 | MTA_STRATEGY_ONLY_WIFI | 只在wifi状态下发送,非wifi情况缓存到本地。 |
3 | MTA_STRATEGY_BATCH | 批量发送,默认当消息数量达到30条时发送一次。 |
4 | MTA_STRATEGY_APP_LAUNCH | 只在启动时发送,本次产生的所有数据在下次启动时发送。 |
5 | MTA_STRATEGY_DEVELOPER | 开发者模式,只在app调用void commitEvents(Context)时发送,否则缓存消息到本地。 |
6 | MTA_STRATEGY_PERIOD | 间隔一段时间发送,每隔一段时间一次性发送到服务器。 |
SDK默认为MTA_STRATEGY_APP_LAUNCH + wifi下实时上报,对于响应要求比较高的应用,比如竞技类游戏,可关闭wifi实时上报,并选择MTA_STRATEGY_APP_LAUNCH或MTA_STRATEGY_PERIOD上报策略。
(2)考虑到wifi上报数据的代价比较小,为了更及时获得用户数据,SDK默认在WIFI网络下实时发送数据。可以调用下面的接口禁用此功能(在wifi条件下仍使用原定策略)。
@property BOOL smartReporting
(3)通过在Web界面配置,开发者可以在线更新上报策略,替换app内原有的策略。app下次启动时会自动生效并存储该策略。
上面3种方式的优先级依次递增。例如,wifi下转为实时发送会优先于第1种方式中选定的任何策略执行;在Web界面上配置的策略会覆盖app本地已经生效的策略。
1.2.2. 数据上报相关的设置
(1)设置最大缓存未发送消息个数(默认1024)
@property uint32_t maxStoreEventCount
缓存消息的数量超过阈值时,最早的消息会被丢弃。
(2)(仅在发送策略为MTA_STRATEGY_BATCH时有效)设置最大批量发送消息个数(默认30)
@property uint32_t minBatchReportCount
(3)(仅在发送策略为PERIOD时有效)设置间隔时间(默认为24*60,即1天)
@property uint32_t sendPeriodMinutes