自定义数据上报策略,开发者可根据自身应用需求,设置不同的数据上报策略,能够有效的控制用户流量开销。
void GsConfig.setUploadStrategyType(GsConfig.GESHU_STRATEGY_REAL_TIME);
int GsConfig.getUploadStrategyType();
个数目前支持的上报策略包括以下 5 种:
编号 | 策略名称 | 说明 |
---|---|---|
1 | GESHU_STRATEGY_REAL_TIME | 实时发送,app 每产生一条消息都会发送到服务器。 |
2 | GESHU_STRATEGY_WIFI_ONLY | 只在 wifi 状态下发送,非 wifi 情况缓存到本地。 |
3 | GESHU_STRATEGY_BATCH | 批量发送,默认当消息数量达到 32 条时发送一次。 |
4 | GESHU_STRATEGY_LAUNCH_ONLY | 只在启动时发送,本次产生的所有数据在下次启动时发送。 |
5 | GESHU_STRATEGY_PERIOD | 间隔一段时间发送,默认每隔 1 小时发送到服务器。 |
目前默认有 WIFI 的情况实时上传,无 WIFI 则间隔 10 分钟上报数据,以及每次启动时上传。开发者也可以手动关闭有 WIFI 情况下实时上传数据的开关。
void GsConfig.setEnableSmartReporting(boolean isEnable);
boolean GsConfig.getEnableSmartReporting();
(1)(仅在发送策略为 GESHU_STRATEGY_PERIOD 时有效)设置间隔时间(默认为 10 ,单位是分钟)
void GsConfig.setUploadPeriodMinutes(int minutes);
int GsConfig.getUploadPeriodMinutes();
(2)(仅在发送策略为 GESHU_STRATEGY_BATCH 时有效)设置最大批量发送消息个数(默认 32 )
void GsConfig.setMaxBatchReportCount(int maxCount);
int GsConfig.getMaxBatchReportCount();
注意:GsConfig 配置类需要在 SDK 初始化之前配置。
SDK 的数据上报策略包括以下 5 种(默认为 GESHU_STRATEGY_PERIOD
,周期为 60 分钟):
编号 | 策略名称 | 策略说明 |
---|---|---|
1 | GESHU_STRATEGY_REAL_TIME |
实时发送,app 每产生一条消息都会发送到服务器。 |
2 | GESHU_STRATEGY_WIFI_ONLY |
只在 wifi 状态下发送,非 wifi 情况缓存到本地。 |
3 | GESHU_STRATEGY_BATCH |
批量发送,默认当消息数量达到 32 条时发送一次。 |
4 | GESHU_STRATEGY_LAUNCH_ONLY |
只在启动时发送,本次产生的所有数据在下次启动时发送。 |
5 | GESHU_STRATEGY_PERIOD |
间隔一段时间发送,每隔一段时间一次性发送到服务器。 |
注意:数据上报策略建议在应用启动时设置。
数据上报策略使用以下接口进行设置和查看:
/**
设置上报策略
*/
@property(nonatomic,assign)GeShuStatReportStrategyType reportStrategy;
考虑到 WIFI 网络环境下上报数据的代价较小,因此默认情况下,在 WIFI 环境下,使用实时上报策略,若要关闭该策略,可以调用以下接口关闭:
/**
智能上报
开启以后设备接入WIFI会实时上报
否则按照全局策略上报
默认打开
*/
@property (nonatomic, assign)BOOL smartReporting;
/**
统计上报策略为 BATCH 时,触发上报时最小缓存消息数,默认32条
*/
@property (nonatomic, assign)NSUInteger minBatchReportNumber;
/**
上报策略为 PERIOD 时发送间隔,单位分钟,默认一天(60分钟)
*/
@property (nonatomic, assign)NSUInteger periodMinutes;
以上文档对您是否有帮助?