概要

现阶段本产品只对小米生态链企业及合作伙伴正式开放.

使用说明

这里介绍如何配置和使用小米健康服务iOS客户端SDK,您也可以参照Demo来配置和使用小米健康服务。

在使用小米健康服务前,开发者需要先登录小米开发者网站http://developer.xiaomi.com。注册App,申请对应的AppID, AppKey 等等信息

其中AppID和AppKey是客户端的应用标识,在客户端SDK初始化时使用

搭建XCode运行环境

我们的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运行参数

运行SDK注册小米推送服务的时候,需要使用AppID,AppKey,等参数来验证使用者的合法性。

打开工程下资源文件Info.plist 文件为源代码形式打开,添加以下信息

MiSDKAppID

1000888

MiSDKAppKey

500088888888

MiSDKAppID, MiSDKAppKey 为在小米开发者网站http://developer.xiaomi.com。注册App,申请的AppID, AppKey

注册小米健康服务

当iOS客户端应用启动时,调用以下代码注册小米健康服务

// token 是从小米账号SDK获得

[MiHealthKit registerMiHealthKit:token delegate:self];

实现MiHealthKitDelegate回调

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

{

// 请求失败

}

GET/SET 健康数据

此版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.

API说明

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

@interface MiHealthKit : NSObject

MiHealthKit是小米健康服务在iOS平台的接入类。单实例。并提供了一系列静态方法。

API

功能

+ (void)registerMiHealthKit:(NSString*)token delegate:(id)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.

@protocol MiHealthKitDelegate

MiHealthKitDelegate SDK的所有请求都是异步操作,用户需监听此方法。

API

功能

- (void)miHealthKitRequestSuccWithSelector:(NSString*)selector data:(NSDictionary *)data;

当请求成功时返回

- (void)miHealthKitRequestErrWithSelector:(NSString*)selector data:(NSDictionary *)data;

当请求失败时返回

方法详细说明

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

注册SDK, 提供小米账号系统生产的token。建议在程序启动时执行

- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary)launchOptions

参数列表

参数说明

(NSString*)token

小米账号获取的用户token

(id)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

请求后下发的服务器信息。

错误码

错误码

说明

-1

访问超时,网络信号不好

-2

无网络

-3

未知错误,通常意味着MiPush服务器的业务错误

-4

操作太频繁

-5

请求无效参数

-6

返回结果无效

常见问题

联系DevFit@xiaomi.com

小米云网站服务器错误代码,小米健康云开放平台iOS SDK使用指南相关推荐

  1. 后端 乐橙云开放平台获取管理员token测试demo

    乐橙云开放平台获取管理员token测试demo 前端页面文档 django配置 测试代码 前端页面文档 html <!DOCTYPE html> <html lang="e ...

  2. 云测平台iOS环境搭建

    云测平台iOS环境搭建 前言 远程办公作为疫情常态化下的热门词汇,催生了各种远程办公,远程会议等工具.远程操作一台PC已经不是什么难事,那么如何远程操作一台iOS手机呢? iOS 云真机的几个痛点: ...

  3. 创新商用沟通协作方式,科天云发布协作云开放平台

    2017年11月16日,由思科与TCL共同投资的企业科天云举办了主题为"科天协作体验之旅"的发布会.云视频会议WebEx.云呼叫中心天客云.商业互动直播平台科天易播等企业内外沟通协 ...

  4. 小米打印机显示服务器出错,小米打印机连不上wifi 小米打印机连不上wifi的解决办法以及原因分析...

    1.浏览器范围192.168.31.1打开小米路由器管理界面,输入密码登录 2.点击[常用设置]→[局域网设置]中将局域网IP地址由192.168.31.1修改为192.168.0.1,点击[保存]即 ...

  5. 小米盒子显示服务器断开,小米盒子故障原因排查及检修方法

    小米盒子无法开机怎么办? 小米盒子没有关机功能,通电即会自动开机;无法开机的原因可能与供电不足或者系统数据异常有关. 1.检查电源插座是否正常工作. 检查插座指示灯,或者连接其它插座验证.(小米盒子m ...

  6. EC600 QuecPython接入第三方MQTT服务器, 以阿里云物联网平台为例,可替换为自己创建的MQTT服务器

    EC600 QuecPython 自带Aliyun.腾讯云物联网平台的接入库,但重口难调,产品项目中更多的是接入自己搭建的第三方服务器. MQTT协议接入不同的服务器,最大的区别在于connect报文 ...

  7. html5语音云,搜狗语音云开放平台

    · 什么是语音云 作为人机交互最自然便捷的方式之一,语音普遍被认为将引领下一代人机交互革命. 今天,在移动互联网以及云计算等相关产业的推动下,语音技术和应用环境逐步成熟, 语音交互逐渐被用户接受和使用 ...

  8. 暴风云视频平台点播SDK使用介绍(三)-- 视频播放(IOS)

    本教程介绍使用暴风云视频 IOS平台 播放器的SDK,快速构建一个视频点播功能的APP. 下载SDK 访问暴风云视频平台官方网站的SDK页面,进入一站式视频点播,找到SDK for Objective ...

  9. 中国首个 SaaS 模式的云告警平台 iOS 版 APP 上线

    2019独角兽企业重金招聘Python工程师标准>>> 今天上午,国内首个 SaaS 模式的云告警平台 OneAlert 正式发布 ios 版 APP,每个 ios 用户,无需电脑, ...

最新文章

  1. .NET framework Library
  2. LeetCode 1553. 吃掉 N 个橘子的最少天数(BFS)
  3. 戴尔服务器oem分区如何显示,电脑创建OEM分区的详细介绍
  4. VMware卸载后再安装提示无法打开注册表项 UNKNOWN\Components\…解决办法
  5. aplay amixer arecord说明
  6. blast2go windows 下本地化
  7. Unity3D开发游戏坦克大战
  8. sofa接口下载文件
  9. VR全景图在家装行业的应用及发展
  10. 《系统集成项目管理》第七章 项目范围管理
  11. 如何用2SC5200晶体管制作音频放大器
  12. pve rust 能拆家吗_文明重启有哪些游戏模式应该怎么玩
  13. windows下进行嵌入式系统开发工程管理编译方案
  14. SSD硬盘的4K对齐
  15. 超越阿迪、逼近耐克,安踏的“新基建”到底有多强?
  16. 第十二次作业 - Beta答辩总结
  17. 网页设计与网站规划 作业13 制作视频播放列表
  18. h5手指滑动划线touch事件
  19. 易语言免费版 绿色软件
  20. 记录一下leetcode:1178猜字谜

热门文章

  1. spd软件系统的发展-医用耗材管理系统功能优势发展及分析
  2. 专利与论文-2:什么是专利?专利的几种类型?
  3. 解决linux终端路径过长的问题
  4. delphi7 获取计算机名,Delphi中根据IP地址得到主机名
  5. php rtx,Ubuntu 手记之RTX (腾讯通)
  6. 2022年危险化学品生产单位安全生产管理人员理论题库及答案
  7. html屏幕有闪动,笔记本电脑屏幕出现条纹闪烁怎么解决【解决方法】
  8. 《计算机组成原理(微课版)》第2章课后习题答案
  9. [Linux] 使用lsof 查看解决too many open file问题
  10. C++ isdigit() 的基本用法