现阶段本产品只对小米生态链企业及合作伙伴正式开放.
这里介绍如何配置和使用小米健康服务iOS客户端SDK,您也可以参照Demo来配置和使用小米健康服务。 在使用小米健康服务前,开发者需要先登录小米开发者网站http://developer.xiaomi.com。注册App,申请对应的AppID, AppKey 等等信息
其中AppID和AppKey是客户端的应用标识,在客户端SDK初始化时使用
我们的libMiHealthKit库文件同时包含i386、x86_64、arm64、armv6和armv7的代码,所以libMiHealthKit将同时支持真机与模拟器。 MiHealthKit使用需要用到小米账号,请先集成小米账号 http://dev.xiaomi.com/docs/passport/user_guide/
小米健康服务IOS版支持的最低系统版本iOS5.0 添加libMiHealthKit.a , MiHealthKit.h 到工程 引入库 libz.dylib,CFNetwork.framework,CoreGraphics.framework (如果已经引入,请忽略)运行SDK注册小米推送服务的时候,需要使用AppID,AppKey,等参数来验证使用者的合法性。 打开工程下资源文件Info.plist 文件为源代码形式打开,添加以下信息
<dict> <key>MiSDKAppID</key> <string>1000888</string> <key>MiSDKAppKey</key> <string>500088888888</string> </dict> MiSDKAppID, MiSDKAppKey 为在小米开发者网站http://developer.xiaomi.com。注册App,申请的AppID, AppKey
当iOS客户端应用启动时,调用以下代码注册小米健康服务
// token 是从小米账号SDK获得 [MiHealthKit registerMiHealthKit:token delegate:self];
SDK中所有请求操作都是异步的。调用成功与失败都会通过MiHealthKitDelegate来通知。 在AppDelegate.h中加入MiHealthKitDelegate协议
#import "MiHealthKit.h" // <-- @interface AppDelegate : UIResponder < MiHealthKitDelegate, // <-- UIApplicationDelegate > @property (strong, nonatomic) UIWindow *window; @end
AppDelegate.m中实现回调方法
#pragma mark MiHealthKitDelegate - (void)miHealthKitRequestSuccWithSelector:(NSString*)selector data:(NSDictionary *)data { // 请求成功 } - (void)miHealthKitRequestErrWithSelector:(NSString*)selector data:(NSDictionary *)data { // 请求失败 }
此版SDK支持如下功能
createDataSource, 创建数据源,并且该数据源对于该用户来说,必须是全局唯一的. 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上传给服务端. getDataSet, 该方法的path parameter中需要携带一个datasetId,该datasetId有startTime-endTime组成. deleteDataSet, 删除某个特定时间段中的data point.MiHealthKit.h 分两部分 @interface MiHealthKit ,@protocol MiHealthKitDelegate
MiHealthKit是小米健康服务在iOS平台的接入类。单实例。并提供了一系列静态方法。
API 功能 + (void)registerMiHealthKit:(NSString*)token delegate:(id<MiHealthKitDelegate>)delegate; 注册Kit, 提供小米账号系统生产的token. + (void)createDataSource:(MHMDataSource*)dataSource; 该接口用于创建数据源,并且该数据源对于该用户来说,必须是全局唯一的. + (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上传给服务端. + (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.MiHealthKitDelegate SDK的所有请求都是异步操作,用户需监听此方法。
API 功能 - (void)miHealthKitRequestSuccWithSelector:(NSString*)selector data:(NSDictionary *)data; 当请求成功时返回 - (void)miHealthKitRequestErrWithSelector:(NSString*)selector data:(NSDictionary *)data; 当请求失败时返回注册SDK, 提供小米账号系统生产的token。建议在程序启动时执行 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
参数列表 参数说明 (NSString*)token 小米账号获取的用户token (id<MiHealthKitDelegate>)delegate 加入请求成功与失败的监听 + (void)createDataSource:(MHMDataSource*)dataSource;该接口用于创建数据源,并且该数据源对于该用户来说,必须是全局唯一的. 在此方法中,数据源的data stream id不需要客户端提供,它会由服务端生成. 该接口每次可以创建一个data source.
参数列表 参数说明 (MHMDataSource*)dataSource 创建的dataSource模型 + (void)getDataSource:(NSString*)dataSourceID;在请求URL中携带dataSourceId,来获取id值为该dataSourceId的data source.
参数列表 参数说明 (NSString*)dataSourceID 获取的dataSourceID + (void)listDataSource:(MHMDataType*)dataType;查询所有对用户可见的data sources. 用户可以查询其所有可见的data sources,也可以通过指定data type来查询特定类别的data sources.
参数列表 参数说明 (MHMDataType*)dataType dataSource类型 + (void)deleteDataSource:(NSString*)dataSourceID;在请求URL中携带dataSourceId,来删除id值为该dataSourceId的data source.
参数列表 参数说明 (NSString*)dataSourceID dataSourceID + (void)updateDataSource:(NSString)dataSourceID object:(MHMDataSource)dataSource;更新某个特定data source的信息.
参数列表 参数说明 (NSString*)dataSourceID 原dataSouceID (MHMDataSource*)dataSource 更新的datasource + (void)postDataSet:(NSArray*)array;客户端收集data points,把data points添加到datasets中,然后把dataset上传给服务端. dataset只是一个数据传输结构,服务端并不存储dataset本身,而只是存储dataset中包含的data points.
参数列表 参数说明 (NSArray*)array 上报的DataPoint数组 + (void)getDataSetWithDataSourceID:(NSString)dataSourceID datasetID:(NSString)dataSetID limit:(int)limit page:(int)page;该方法的path parameter中需要携带一个datasetId,该datasetId有startTime-endTime组成 该方法的响应报文中会包含一个dataset,dataset中包含所有endTimeNanos落在[startTime, endTime]区间的data point
参数列表 参数说明 (NSString*)dataSourceID dataSourceID (NSString*)dataSetID dataSetID (int)limit 分页数量 (int)page 第几页 + (void)deleteDataSetWithDataSourceID:(NSString)dataSourceID datasetID:(NSString)dataSetID;删除某个特定时间段中的data point. endTimeNanos落在[startTime, endTime]中的data point将会被删除.
参数列表 参数说明 (NSString*)dataSourceID dataSourceID (NSString*)dataSetID dataSetID - (void)miHealthKitRequestSuccWithSelector:(NSString)selector data:(NSDictionary )data;当请求成功后,会回调此方法
参数列表 参数说明 (NSString *)selector 请求调用方法的名称。例: "createDataSource:" (NSDictionary *)data 请求后下发的服务器信息。 - (void)miHealthKitRequestErrWithSelector:(NSString)selector data:(NSDictionary )data;当请求失败后,会回调此方法
参数列表 参数说明 (NSString *)selector 请求调用方法的名称。例: "createDataSource:" (NSDictionary *)data 请求后下发的服务器信息。联系DevFit@xiaomi.com
相关知识
小米健康云开放平台iOS SDK使用指南
小米健康云开放平台用户文档
SDK合规使用指南
谷歌推出开源云计算健康管理平台Open Health Stack
基于微信平台与机智云物联网云平台的体重健康管理系统设计
司康生活助手——智能健康管理与商城平台iOS版
小米手环全功能使用指南
智慧健康医疗云平台
云健康ios版下载(苹果手机健康医疗软件) v2.0.2 ios版
开云健康的使用方法
网址: 小米健康云开放平台iOS SDK使用指南 https://m.trfsz.com/newsview1146707.html