数据同步功能

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参数说明

参数

说明

备注 </tr> </thead>

isSyncHealthRun

当前连接设备是否正在同步

readonly,bool </tr>

isSyncConfigRun

当前连接设备是否在同步配置信息

readonly,bool </tr>

isNeedSyncConfig

当前连接设备是否需要同步配置

readonly,bool </tr>

wantToSyncType

设置需要同步的选项

同步配置、同步健康、
同步活动、同步GPS </tr>

isSave

同步的数据是否存入SDK数据库中

默认YES </tr>

itemSyncTimeout

每一项同步超时时长

默认60秒 </tr> </tbody> </table>

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同步功能入口

Copyright © 2015-2020 IDO. All rights reserved. all right reserved,powered by Gitbook修订时间: 2023-12-18 10:04:13

results matching ""

    No results matching ""