首頁 資訊 小米健康云開放平臺iOS SDK使用指南

小米健康云開放平臺iOS SDK使用指南

來源:泰然健康網(wǎng) 時間:2025年04月17日 03:21

概要

現(xiàn)階段本產(chǎn)品只對小米生態(tài)鏈企業(yè)及合作伙伴正式開放.

使用說明

這里介紹如何配置和使用小米健康服務(wù)iOS客戶端SDK,您也可以參照Demo來配置和使用小米健康服務(wù)。 在使用小米健康服務(wù)前,開發(fā)者需要先登錄小米開發(fā)者網(wǎng)站http://developer.xiaomi.com。注冊App,申請對應(yīng)的AppID, AppKey 等等信息

其中AppID和AppKey是客戶端的應(yīng)用標(biāo)識,在客戶端SDK初始化時使用

搭建XCode運(yùn)行環(huán)境

我們的libMiHealthKit庫文件同時包含i386、x86_64、arm64、armv6和armv7的代碼,所以libMiHealthKit將同時支持真機(jī)與模擬器。 MiHealthKit使用需要用到小米賬號,請先集成小米賬號 http://dev.xiaomi.com/docs/passport/user_guide/

小米健康服務(wù)IOS版支持的最低系統(tǒng)版本iOS5.0 添加libMiHealthKit.a , MiHealthKit.h 到工程 引入庫 libz.dylib,CFNetwork.framework,CoreGraphics.framework (如果已經(jīng)引入,請忽略)

配置SDK運(yùn)行參數(shù)

運(yùn)行SDK注冊小米推送服務(wù)的時候,需要使用AppID,AppKey,等參數(shù)來驗證使用者的合法性。 打開工程下資源文件Info.plist 文件為源代碼形式打開,添加以下信息

<dict> <key>MiSDKAppID</key> <string>1000888</string> <key>MiSDKAppKey</key> <string>500088888888</string> </dict> MiSDKAppID, MiSDKAppKey 為在小米開發(fā)者網(wǎng)站http://developer.xiaomi.com。注冊App,申請的AppID, AppKey

注冊小米健康服務(wù)

當(dāng)iOS客戶端應(yīng)用啟動時,調(diào)用以下代碼注冊小米健康服務(wù)

// token 是從小米賬號SDK獲得 [MiHealthKit registerMiHealthKit:token delegate:self];

實現(xiàn)MiHealthKitDelegate回調(diào)

SDK中所有請求操作都是異步的。調(diào)用成功與失敗都會通過MiHealthKitDelegate來通知。 在AppDelegate.h中加入MiHealthKitDelegate協(xié)議

#import "MiHealthKit.h"?? // <-- @interface AppDelegate : UIResponder ?< MiHealthKitDelegate, // <-- UIApplicationDelegate? > @property (strong, nonatomic) UIWindow *window; @end

AppDelegate.m中實現(xiàn)回調(diào)方法

#pragma mark MiHealthKitDelegate - (void)miHealthKitRequestSuccWithSelector:(NSString*)selector data:(NSDictionary *)data { // 請求成功 } - (void)miHealthKitRequestErrWithSelector:(NSString*)selector data:(NSDictionary *)data { // 請求失敗 }

GET/SET 健康數(shù)據(jù)

此版SDK支持如下功能

createDataSource, 創(chuàng)建數(shù)據(jù)源,并且該數(shù)據(jù)源對于該用戶來說,必須是全局唯一的. getDataSource, 攜帶dataSourceId,來獲取該dataSourceId的data source. listDataSource, 查詢所有對用戶可見的data sources. 用戶可以查詢其所有可見的data sources,也可以通過指定data type來查詢特定類別的data sources. deleteDataSource, 在請求URL中攜帶dataSourceId,來刪除id值為該dataSourceId的data source. updateDataSource, 更新某個特定data source的信息. postDataSet, 客戶端收集data points,把data points添加到datasets中,然后把dataset上傳給服務(wù)端. getDataSet, 該方法的path parameter中需要攜帶一個datasetId,該datasetId有startTime-endTime組成. deleteDataSet, 刪除某個特定時間段中的data point.

API說明

MiHealthKit.h 分兩部分 @interface MiHealthKit ,@protocol MiHealthKitDelegate

@interface MiHealthKit : NSObject

MiHealthKit是小米健康服務(wù)在iOS平臺的接入類。單實例。并提供了一系列靜態(tài)方法。

API 功能 + (void)registerMiHealthKit:(NSString*)token delegate:(id<MiHealthKitDelegate>)delegate; 注冊Kit, 提供小米賬號系統(tǒng)生產(chǎn)的token. + (void)createDataSource:(MHMDataSource*)dataSource; 該接口用于創(chuàng)建數(shù)據(jù)源,并且該數(shù)據(jù)源對于該用戶來說,必須是全局唯一的. + (void)getDataSource:(NSString*)dataSourceID; 在請求URL中攜帶dataSourceId,來獲取id值為該dataSourceId的data source. + (void)listDataSource:(MHMDataType*)dataType; 查詢所有對用戶可見的data sources. 用戶可以查詢其所有可見的data sources,也可以通過指定data type來查詢特定類別的datasources. + (void)deleteDataSource:(NSString*)dataSourceID; 在請求URL中攜帶dataSourceId,來刪除id值為該dataSourceId的data source. + (void)updateDataSource:(NSString*)dataSourceID object:(MHMDataSource*)dataSource; 更新某個特定data source的信息. + (void)postDataSet:(NSArray*)array; 客戶端收集data points,把data points添加到datasets中,然后把dataset上傳給服務(wù)端. + (void)getDataSetWithDataSourceID:(NSString*)dataSourceID datasetID:(NSString*)dataSetID limit:(int)limit page:(int)page; 該方法的path parameter中需要攜帶一個datasetId,該datasetId有startTime-endTime組成. + (void)deleteDataSetWithDataSourceID:(NSString*)dataSourceID datasetID:(NSString*)dataSetID; 刪除某個特定時間段中的data point.

@protocol MiHealthKitDelegate

MiHealthKitDelegate SDK的所有請求都是異步操作,用戶需監(jiān)聽此方法。

API 功能 - (void)miHealthKitRequestSuccWithSelector:(NSString*)selector data:(NSDictionary *)data; 當(dāng)請求成功時返回 - (void)miHealthKitRequestErrWithSelector:(NSString*)selector data:(NSDictionary *)data; 當(dāng)請求失敗時返回

方法詳細(xì)說明

+ (void)registerMiHealthKit:(NSString*)token delegate:(id)delegate;

注冊SDK, 提供小米賬號系統(tǒng)生產(chǎn)的token。建議在程序啟動時執(zhí)行 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions

參數(shù)列表 參數(shù)說明 (NSString*)token 小米賬號獲取的用戶token (id<MiHealthKitDelegate>)delegate 加入請求成功與失敗的監(jiān)聽 + (void)createDataSource:(MHMDataSource*)dataSource;

該接口用于創(chuàng)建數(shù)據(jù)源,并且該數(shù)據(jù)源對于該用戶來說,必須是全局唯一的. 在此方法中,數(shù)據(jù)源的data stream id不需要客戶端提供,它會由服務(wù)端生成. 該接口每次可以創(chuàng)建一個data source.

參數(shù)列表 參數(shù)說明 (MHMDataSource*)dataSource 創(chuàng)建的dataSource模型 + (void)getDataSource:(NSString*)dataSourceID;

在請求URL中攜帶dataSourceId,來獲取id值為該dataSourceId的data source.

參數(shù)列表 參數(shù)說明 (NSString*)dataSourceID 獲取的dataSourceID + (void)listDataSource:(MHMDataType*)dataType;

查詢所有對用戶可見的data sources. 用戶可以查詢其所有可見的data sources,也可以通過指定data type來查詢特定類別的data sources.

參數(shù)列表 參數(shù)說明 (MHMDataType*)dataType dataSource類型 + (void)deleteDataSource:(NSString*)dataSourceID;

在請求URL中攜帶dataSourceId,來刪除id值為該dataSourceId的data source.

參數(shù)列表 參數(shù)說明 (NSString*)dataSourceID dataSourceID + (void)updateDataSource:(NSString)dataSourceID object:(MHMDataSource)dataSource;

更新某個特定data source的信息.

參數(shù)列表 參數(shù)說明 (NSString*)dataSourceID 原dataSouceID (MHMDataSource*)dataSource 更新的datasource + (void)postDataSet:(NSArray*)array;

客戶端收集data points,把data points添加到datasets中,然后把dataset上傳給服務(wù)端. dataset只是一個數(shù)據(jù)傳輸結(jié)構(gòu),服務(wù)端并不存儲dataset本身,而只是存儲dataset中包含的data points.

參數(shù)列表 參數(shù)說明 (NSArray*)array 上報的DataPoint數(shù)組 + (void)getDataSetWithDataSourceID:(NSString)dataSourceID datasetID:(NSString)dataSetID limit:(int)limit page:(int)page;

該方法的path parameter中需要攜帶一個datasetId,該datasetId有startTime-endTime組成 該方法的響應(yīng)報文中會包含一個dataset,dataset中包含所有endTimeNanos落在[startTime, endTime]區(qū)間的data point

參數(shù)列表 參數(shù)說明 (NSString*)dataSourceID dataSourceID (NSString*)dataSetID dataSetID (int)limit 分頁數(shù)量 (int)page 第幾頁 + (void)deleteDataSetWithDataSourceID:(NSString)dataSourceID datasetID:(NSString)dataSetID;

刪除某個特定時間段中的data point. endTimeNanos落在[startTime, endTime]中的data point將會被刪除.

參數(shù)列表 參數(shù)說明 (NSString*)dataSourceID dataSourceID (NSString*)dataSetID dataSetID - (void)miHealthKitRequestSuccWithSelector:(NSString)selector data:(NSDictionary )data;

當(dāng)請求成功后,會回調(diào)此方法

參數(shù)列表 參數(shù)說明 (NSString *)selector 請求調(diào)用方法的名稱。例: "createDataSource:" (NSDictionary *)data 請求后下發(fā)的服務(wù)器信息。 - (void)miHealthKitRequestErrWithSelector:(NSString)selector data:(NSDictionary )data;

當(dāng)請求失敗后,會回調(diào)此方法

參數(shù)列表 參數(shù)說明 (NSString *)selector 請求調(diào)用方法的名稱。例: "createDataSource:" (NSDictionary *)data 請求后下發(fā)的服務(wù)器信息。

錯誤碼

錯誤碼 說明 -1 訪問超時,網(wǎng)絡(luò)信號不好 -2 無網(wǎng)絡(luò) -3 未知錯誤,通常意味著MiPush服務(wù)器的業(yè)務(wù)錯誤 -4 操作太頻繁 -5 請求無效參數(shù) -6 返回結(jié)果無效

常見問題

聯(lián)系DevFit@xiaomi.com

相關(guān)知識

小米健康云開放平臺iOS SDK使用指南
小米健康云開放平臺用戶文檔
SDK合規(guī)使用指南
谷歌推出開源云計算健康管理平臺Open Health Stack
基于微信平臺與機(jī)智云物聯(lián)網(wǎng)云平臺的體重健康管理系統(tǒng)設(shè)計
司康生活助手——智能健康管理與商城平臺iOS版
小米手環(huán)全功能使用指南
智慧健康醫(yī)療云平臺
云健康ios版下載(蘋果手機(jī)健康醫(yī)療軟件) v2.0.2 ios版
開云健康的使用方法

網(wǎng)址: 小米健康云開放平臺iOS SDK使用指南 http://www.u1s5d6.cn/newsview1146707.html

推薦資訊