TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Dec 2017 |
## 2017-08-29 tag 1.0.1 demo支持手表助手授权
/**
华米授权策略
- HMApiAuthPolicyHealthOnly: 只用华米健康
- HMApiAuthPolicyMiFitOnly: 只用小米运动
- HMApiAuthPolicyWatchOnly: 只用手表助手
- HMApiAuthPolicyHealthFirst: 优先使用华米健康(在华米健康不可用的情况下会选择其他可支持授权的应用)
- HMApiAuthPolicyMiFitFirst: 优先使用小米运动(在小米运动不可用的情况下会选择其他可支持授权的应用)
- HMApiAuthPolicyWatchFirst: 优先使用手表助手(在手表助手不可用的情况下会选择其他可支持授权的应用)
*/
typedef NS_ENUM(NSUInteger, HMApiAuthPolicy) {
HMApiAuthPolicyHealthOnly = 0,
HMApiAuthPolicyMiFitOnly = 1,
HMApiAuthPolicyWatchOnly = 2,
HMApiAuthPolicyHealthFirst = 3,
HMApiAuthPolicyMiFitFirst = 4,
HMApiAuthPolicyWatchFirst = 5,
};
/**
接收并处理来自华米应用终端程序的事件消息
接收并处理来自华米应用终端程序的事件消息,期间华米应用界面会切换到第三方应用程序。HMApiDelegate会在handleOpenURL:delegate:中使用并触发。
*/
@protocol HMApiDelegate
@optional
/**
发送一个sendRequest后,收到华米应用的回应
收到一个来自华米应用的处理结果,调用一次sendRequest后会收到hmApiDelegateDidReceiveResponse。
可能收到的处理结果有HMSendAuthResponse等。
@param response 具体回应内容
*/
- (void)hmApiDelegateDidReceiveResponse:(HMBaseResponse *)response;
@end
/**
华米Api接口函数类,该类封装了华米应用端SDK的所有接口
*/
@interface HMApi : NSObject
/**
向华米应用注册第三方应用,不进行加密
需要在每次启动第三方应用程序时调用
@param appid 华米开发者ID,在线下申请的基础上加上hm前缀
@param authPolicy 授权策略
@return 成功返回YES,失败返回NO。
*/
+ (BOOL)registerApp:(NSString *)appid authPolicy:(HMApiAuthPolicy)authPolicy;
/**
向华米应用注册第三方应用
需要在每次启动第三方应用程序时调用
@param appid 华米开发者ID,在线下申请的基础上加上hm前缀
@param authPolicy 授权策略
@param encrypted 是否采用加密,YES 则授权成功后的token信息会加密
@return 成功返回YES,失败返回NO。
*/
+ (BOOL)registerApp:(NSString *)appid authPolicy:(HMApiAuthPolicy)authPolicy encrypted:(BOOL)encrypted;
/**
处理华米应用通过URL启动App时传递的数据
需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。
@param url 华米应用启动第三方应用时传递过来的URL
@param delegate HMApiDelegate对象,用来接收微信触发的消息。
@return 成功返回YES,失败返回NO。
*/
+ (BOOL)handleOpenURL:(NSURL *)url delegate:(id)delegate;
/**
检查华米应用是否安装。
@return 已安装返回YES,未安装返回NO。
*/
+ (BOOL)isAppInstalled;
/**
判断当前华米应用的版本是否支持OpenApi
@return 支持返回YES,不支持返回NO。
*/
+ (BOOL)isAppSupportApi;
/**
获取华米应用的itunes安装地址
@return 华米应用的安装地址字符串。
*/
+ (NSString *)getAppInstallUrl;
/**
获取当前授权SDK的版本号
@return 返回当前授权SDK的版本号
*/
+ (NSString *)getApiVersion;
/**
打开华米应用,异步操作
@param completion 回调,在主线程
*/
+ (void)openAppCompletionHandler:(void (^)(BOOL success))completion;
/**
发送请求到华米应用,等待华米应用返回hmApiDelegateDidReceiveResponse。
函数调用后会切换到华米应用的界面,第三方应用程序等待华米应用返回hmApiDelegateDidReceiveResponse,华米应用在异步处理完成后一定会调用hmApiDelegateDidReceiveResponse。支持类型:HMSendAuthRequest
@param request 具体的发送请求
@return 成功返回YES,失败返回NO。
*/
+ (BOOL)sendRequest:(HMBaseRequest *)request;