Notice (iOS)

1.Correct way to use SDK

SDK adopts singleton mode, please use [ICDeviceManager shared] to obtain an instance

2.What are the differences in how to use iOS SDK, Android SDK and mini program plug-ins?

These three SDKs are the same in terms of naming and design patterns, and the externally exposed models, enumerations, interfaces, etc. are the same. If you have developed one end, you can quickly get started developing on the other end. In multi-player development, if one end encounters a problem, you can also discuss with the person on the other end to see if there is a mistake in usage.

iOS/Android SDK features are the most complete. The mini program plug-in function is relatively streamlined, mainly missing ota and algorithms, and body fat data is obtained through web api requests.

3. After the App enters the background, it cannot receive the data callback. You can receive it when you return to the front desk.

This is due to the characteristics of iOS. If you need to run in the background, please add App communicates using CoreBluetooth and App shares data using CoreBluetooth in Info.plist

4.When is the SDK initialized?

It is recommended to initialize when the app starts. Most interfaces in the SDK can only be called after the initialization callback onInitFinish. The SDK only needs to be initialized once during the app life cycle.

5. After the SDK is initialized, the Bluetooth symbol on the device also lights up. Why is there no data uploaded?

Please confirm whether you have called [ICDeviceManager shared].delegate to set the delegate. All data and status are called back through the set delegate.

6.Does the data in the SDK have to go through the iCOMON server?

No, the SDK parses data locally and does not send data parsing and saving to the iCOMON server.

7.Does the SDK store the data uploaded by the device?

No, the SDK only parses the transfer data to the app and does not save it inside the SDK, so the app needs to save it after receiving the data.

8.Why is there no onInitFinish callback after calling the SDK initialization interface?

Most of the time it is because the delegate is not set before initialization.

9.When addDevice is called to add a device, the interface callback prompts that the addition is successful. Why is there still no data?

addDevice calls back the interface operation code, not the code for successful connection. The SDK supports multi-device connections, and all device status is passed through the onDeviceConnectionChanged callback.

10.When addDevice is called to add a device, why does the interface callback prompt ICAddDeviceCallBackCodeFailedAndExist?

This code means that the device has already been added and there is no need to add it again. If you confirm that this device requires the SDK to connect, please do not call removeDevice after receiving this code, otherwise the SDK will not connect to the device.

11.After calling addDevice to add a device, when is removeDevice called?

After addDevice successfully adds a device, the SDK will manage the connection of the device by itself. If the device screen is disconnected and the device turns on, the SDK will automatically connect to the device. If the SDK is not needed to connect to the device, call removeDevice . Note: After the APP is closed, all resources in the SDK will be released, so after reopening the app, you need to addDevice again to connect to the device.

12.After calling scanDevice, turning off Bluetooth and then turning it on again does not result in a callback for scanning devices.

Because Bluetooth is turned off and on manually by the user, if the user turns off Bluetooth during scanning, it means that the user does not want to scan, so the SDK does not scan automatically. If you want to continue scanning after Bluetooth is turned on, you can call scanDevice after calling back the Bluetooth open state in onBleState.

13.After calling scanDevice, when is stopScan called?

When there is no need to scan the device, call stopScan. After calling scanDevice, if stopScan is not called, the SDK will not stop scanning.

14.When is updateUserInfo called?

This method is called when the user information is updated. Because after the device is connected, the SDK will automatically deliver user information.

15.What does the st unit on the scale mean?

The scale unit st is a combined unit, such as 190.5lb. When the unit on the scale is st, the scale displays 13:8.5. The conversion method is the integer part: 190.5 / 14 = 13.6 = 13, the decimal part: 190.5 – 13 * 14 = 8.5

16.What is the difference between onReceiveWeightData and onReceiveMeasureStepData?

onReceiveWeightData is the interface used by old devices to upload data. When the attribute isStabilized in the data is YES, it means that the measurement is over.

onReceiveMeasureStepData is the interface for new devices to upload data. The received step is ICMeasureStepMeasureOver which means the measurement ends.

17.When will historical data be pulled back?

Not all devices have historical data. Which devices have the historical data function needs to be confirmed with the business. For most scales, historical data is mostly reported after a weight measurement is completed. For rope skipping, historical data will be reported after the connection is made. If real-time data is generated, historical data uploading will stop. Historical data will continue to be uploaded when no real-time data is generated.

18.Does the battery capacity of the skipping rope support active reading?

Currently, active reading is not supported. The current method of skipping rope's power is to upload it with real-time data every time, and the power update will be more timely than active reading.

19.The difference between setUserList and updateUserInfo

updateUserInfo represents the current user’s information

setUserList represents a user list, which is delivered to the device for user identification when offline.

20.How many users does setUserList support at most?

Supports up to 8, please ensure that weight has a value, otherwise the device cannot recognize the user when offline. Identification logic: There is and is only one user in the user list whose weight is within plus or minus 2kg of the current measured weight, which is the same user.

21.Does the SDK support OTA?

The SDK has OTA functionality, but not all devices support ota. Upgrade interface upgradeDevice

22.After calling upgradeDevice, how long is the timeout?

The SDK currently does not have a timeout limit. The logic of the SDK is to avoid problems and will always try to make the device ota successful. Therefore, the app can define the timeout for the end of OTA based on the normal OTA time required by the device.

23.After upgradeDevice is called, the device is already being upgraded. If the user turns off Bluetooth and then turns it on again, the SDK does not continue to upgrade.

SDK logic: If the device is being upgraded, but the user turns off Bluetooth, it means that the user does not want to upgrade, and the SDK will not continue to upgrade. If the APP wants to continue upgrading, it can call upgradeDevice again.

24.为什么onReceiveWeightHistoryData回调的历史数据没有体脂信息?

因为秤上传的是体重和阻抗数据,而体脂数据跟用户信息相关。所以SDK把数据给到APP,APP根据自己的逻辑去对数据进行认领。认领后可以调用 getBodyFatAlgorithmsManager 里的 reCalcBodyFatWithWeightData 进行体脂数据计算。

25.What information needs to be filled in in reCalcBodyFatWithWeightData?

For 4-electrode single frequency:

  • weightData: To assign values ​​weight_kg, imp, bfa_type, electron
  • userInfo: To assign height, age, sex, peopleType

For 4-electrode dual frequency:

  • weightData: To assign values weight_kg, imp, imp2, bfa_type, electron
  • userInfo: To assign height, age, sex, peopleType

For 8-electrode single frequency:

  • weightData: To assign values weight_kg, imp, imp2, imp3, imp4, imp5, bfa_type, electron
  • userInfo: To assign height, age, sex, peopleType

For 8-electrode dual frequency:

  • weightData: To assign values ​​weight_kg, impairments, bfa_type, electron
  • userInfo: To assign height, age, sex, peopleType

General:

  • weightData: To assign values ​​weight_kg, impairments, bfa_type, electron
  • userInfo: To assign height, age, sex, peopleType

26.What is the data upload logic of BLE+WIFI devices?

If BLE is connected, data will be sent from Bluetooth and not from WIFI. If BLE is not connected, data will be uploaded from WIFI.

Does the broadcasting equipment support switching units and delivering user information?

Most of the current broadcast equipment only supports data reporting and does not support delivery.

28.Why is the SDK so big?

The SDK opens bitcode and supports x86_64, arm64, and watchOS. When actually packaging, xcode will automatically adapt to the corresponding architecture according to the app project settings, without significantly increasing the size of the ipa.

29.Why does the calorie consumption still change after stopping skipping rope?

The calculation principle of calorie consumption is based on the algorithm calculation of the length of rope skipping and body weight. Although skipping has stopped, the duration of skipping is still increasing, so the calorie consumption will still change.

30.OTA callback failure or no callback device disconnect after success

This is because whether the callback fails or succeeds, it means that the OTA process is over. This is the highest event priority. Receiving these two statuses means that the device must be disconnected. It is meaningless to call back the disconnected status.

31.Need to display muscle mass, but in ICWeightData, there is only muscle rate?

Muscle mass can be obtained by converting muscle rate and body weight, such as: Muscle mass = Muscle rate * Weight (kg) .The same is true for other body fat data such as water content and fat mass.

GUANGDONG WELLAND TECHNOLOGY CO.,LTD All Right ReservedUpdate time: 2024-02-05 14:49:17

results matching ""

    No results matching ""

    results matching ""

      No results matching ""