小米健康云開放平臺iOS SDK使用指南
概要
現(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://m.u1s5d6.cn/newsview1146707.html
推薦資訊
- 1發(fā)朋友圈對老公徹底失望的心情 12775
- 2BMI體重指數(shù)計算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢有哪些 盤點夫妻性 10425
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7826