数据同步功能
9.1功能概述
同步设备数据是一个非常重要的功能。同步过程建议不要执行其他命令,即使执行命令也是无效的。同步配置在连接设备的第一次成功绑定之后执行,设备恢复出厂设置也需要执行同步配置。 在同步过程中会返回进度,并且在每个项同步后返回完成状态。根据同步状态判断同步是否完成,同步过程中会记录同步日志并存储。
9.2同步初始化
Objc:
initSyncManager().wantToSyncType = IDO_WANT_TO_SYNC_CONFIG_ITEM_TYPE | IDO_WANT_TO_SYNC_HEALTH_ITEM_TYPE
| IDO_WANT_TO_SYNC_ACTIVITY_ITEM_TYPE | IDO_WANT_TO_SYNC_GPS_ITEM_TYPE;
Swift:
initSyncManager().wantToSyncType = IDO_WANT_TO_SYNC_ITEM_TYPE.CONFIG_ITEM_TYPE | IDO_WANT_TO_SYNC_ITEM_TYPE.HEALTH_ITEM_TYPE
|IDO_WANT_TO_SYNC_ITEM_TYPE.ACTIVITY_ITEM_TYPE | IDO_WANT_TO_SYNC_ITEM_TYPE.GPS_ITEM_TYPE;
9.3参数说明
同步活动、同步GPS
9.4基础方法
Objc:
//开始同步
[IDOSyncManager startSync];
//结束同步
[IDOSyncManager stopSync];
Swift:
//开始同步
IDOSyncManager.startSync();
//结束同步
IDOSyncManager.stopSync();
9.5执行回调方法
Objc:
initSyncManager().addSyncComplete(^(IDO_SYNC_COMPLETE_STATUS stateCode) {
//同步完成状态
if(stateCode == IDO_SYNC_GLOBAL_COMPLETE) {
//同步完成后查询对应的缓存数据
}
}).addSyncProgess(^(IDO_CURRENT_SYNC_TYPE type, float progress) {
//同步项,同步进度(0-1)
}).addSyncFailed(^(int errorCode) {
//同步失败
}).addSyncConfigInitData(^NSArray <IDOBluetoothBaseModel *>* (IDO_SYNC_CONFIG_DATA_TYPE type){
//第一次绑定或者设备重启会同步配置支持的类型则会回调
//根据返回的同步类型,结合业务需求对应返回初始化的数据模型集合
switch (type) {
case IDO_SYNC_SET_TIME_TYPE:
{
// 设置时间
// IDOSetTimeInfoBluetoothModel
}
break;
case IDO_SYNC_SET_ALARM_TYPE:
{
// 设置闹钟
// IDOSetAlarmInfoBluetoothModel
}
break;
case IDO_SYNC_SET_LONG_SIT_TYPE:
{
// 设置久坐
// IDOSetLongSitInfoBuletoothModel
}
break;
case IDO_SYNC_SET_LOST_FIND_TYPE:
{
// 设置防丢
// IDOSetPreventLostInfoBuletoothModel
}
break;
case IDO_SYNC_SET_FIND_PHONE_TYPE:
{
// 设置寻找手机
// IDOSetFindPhoneInfoBuletoothModel
}
break;
case IDO_SYNC_SET_SPORT_GOAL_TYPE:
{
// 设置运动目标步数
// IDOSetUserInfoBuletoothModel
}
break;
case IDO_SYNC_SET_USER_INFO_TYPE:
{
// 设置用户信息
// IDOSetUserInfoBuletoothModel
}
break;
case IDO_SYNC_SET_UNIT_TYPE:
{
// 设置单位
// IDOSetUnitInfoBluetoothModel
}
break;
case IDO_SYNC_SET_AUTH_TYPE:
{
// 设置权限
// IDOSetBindingInfoBluetoothModel
}
break;
case IDO_SYNC_SET_HEART_RATE_MODE_TYPE:
{
// 设置v2心率模式
// IDOSetHrModeInfoBluetoothModel
}
break;
case IDO_SYNC_SET_V3_SET_HR_MODE_TYPE:
{
// 设置v3心率模式
// IDOSetV3HeartRateModeBluetoothModel
}
break;
case IDO_SYNC_SET_UP_HAND_GESTURE_TYPE:
{
// 设置抬手
// IDOSetHandUpInfoBuletoothModel
}
break;
case IDO_SYNC_SET_DO_NOT_DISTURB_TYPE:
{
// 设置勿扰模式
// IDOSetNoDisturbModeInfoBluetoothModel
}
break;
case IDO_SYNC_SET_DISPLAY_MODE_TYPE:
{
// 设置显示模式
// IDOSetDisplayModeInfoBluetoothModel
}
break;
case IDO_SYNC_SET_ONE_KEY_SOS_TYPE:
{
// 设置一键呼叫
// IDOSetOneKeySosInfoBuletoothModel
}
break;
case IDO_SYNC_SET_MUISC_ON_OFF_TYPE:
{
// 设置音乐开关
// IDOSetMusicOpenInfoBuletoothModel
}
break;
case IDO_SYNC_SET_WEATHER_SWITCH_TYPE:
{
// 设置天气开关
// IDOSetWeatherSwitchInfoBluetoothModel
}
break;
case IDO_SYNC_SET_HEART_RATE_INTERVAL_TYPE:
{
// 设置心率区间
// IDOSetHrIntervalInfoBluetoothModel
}
break;
case IDO_SYNC_SET_SPORT_MODE_SELECT_TYPE:
{
// 设置运动模式选择
// IDOSetSportShortcutInfoBluetoothModel
}
break;
case IDO_SYNC_SET_SPORT_MODE_SORT_TYPE:
{
// 设置运动模式排序
// IDOSetSportSortingInfoBluetoothModel
}
break;
case IDO_SYNC_SET_WATCH_DIAL_TYPE:
{
// 设置表盘ID
// IDOSetWatchDiaInfoBluetoothModel
}
break;
case IDO_SYNC_SET_SHORTCUT_TYPE:
{
// 设置快捷方式
// IDOSetShortcutInfoBluetoothModel
}
break;
case IDO_SYNC_SET_SLEEP_PERIOD_TYPE:
{
// 设置睡眠时间段
// IDOSetSleepPeriodInfoBluetoothModel
}
break;
case IDO_SYNC_SET_SCREEN_BRIGHTNESS_TYPE:
{
// 设置屏幕亮度
// IDOSetScreenBrightnessInfoBluetoothModel
}
break;
case IDO_SYNC_SET_MENSTRUATION_REMIND_TYPE:
{
// 设置女性生理周期提醒
// IDOSetMenstruationRemindBluetoothModel
}
break;
case IDO_SYNC_SET_SET_MENSTRUATION_TYPE:
{
// 设置女性生理周期
// IDOSetMenstruationInfoBluetoothModel
}
break;
case IDO_SYNC_SET_CALORIE_DISTANCE_GOAL_TYPE:
{
// 设置卡路里和距离目标
// IDOSetUserInfoBuletoothModel
}
break;
case IDO_SYNC_SET_CONFIG_GPS_TYPE:
{
// 设置gps信息
// IDOSetGpsConfigInfoBluetoothModel
}
break;
case IDO_SYNC_SET_WALK_REMINDER_TYPE:
{
// 设置走动提醒
// IDOSetWalkReminderBluetoothModel
}
break;
case IDO_SYNC_SET_BREATHE_TRAIN_TYPE:
{
// 设置呼吸训练
// IDOSetBreatheTrainBluetoothModel
}
break;
case IDO_SYNC_SET_ACTIVITY_SWITCH_TYPE:
{
// 设置活动开关
// IDOSetActivitySwitchBluetoothModel
}
break;
case IDO_SYNC_SET_PRESSURE_SWITCH_TYPE:
{
// 设置压力开关
// IDOSetPressureSwitchBluetoothModel
}
break;
case IDO_SYNC_SET_MENU_LIST_TYPE:
{
// 设置菜单列表
// IDOGetMenuListInfoBluetoothModel
}
break;
case IDO_SYNC_SET_SCIENTIFIC_SLEEP_SWITCH_TYPE:
{
// 设置科学睡眠开关
// IDOSetV3ScientificSleepModel
}
break;
case IDO_SYNC_SET_TEMPERATURE_SWITCH_TYPE:
{
// 设置体温开关
// IDOSetV3TemperatureModel
}
break;
case IDO_SYNC_SET_FITNESS_GUIDANCE_TYPE:
{
// 设置健身指导
// IDOSetFitnessGuidanceModel
}
break;
case IDO_SYNC_SET_SPO2_SWITCH_TYPE:
{
// 设置血氧开关
// IDOSetSpo2SwitchBluetoothModel
}
break;
case IDO_SYNC_SET_NOISE_SWITCH_TYPE:
{
// 设置噪音开关
// IDOSetV3NoiseSwitchModel
}
break;
case IDO_SYNC_SET_RESPI_RATE_TYPE:
{
// 设置呼吸率开关
// IDOSetBreathRateSwitchModel
}
break;
case IDO_SYNC_SET_HEART_RATE_MODE_SMART:
{
// 设置智能心率模式
// IDOSetSmartHeartRateModel
}
break;
default:
break;
}
return [NSArray array];
}).mandatorySyncConfig(YES or NO); // 绑定需要执行同步配置,后续重连无需执行同步配置,本地作缓存
Swift:
initSyncManager().addSyncComplete!{(stateCode)in
//同步完成状态
if stateCode == .GLOBAL_COMPLETE {
//同步完成后查询对应的缓存数据
}
}.addSyncProgess!{(type,progress)in
//同步项,同步进度(0-1)
}.addSyncFailed!{(errorCode)in
//同步失败
}.addSyncConfigInitData!{(type)in
//根据返回的同步类型,结合业务需求对应返回初始化的数据模型集合
//参照上面objc代码执行
return [];
}.mandatorySyncConfig!(true or false);// 绑定需要执行同步配置,后续重连无需执行同步配置
9.6 Demo同步功能入口