这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » 机智云Gizwits » 机智云蓝牙接入iOS SDK集成指南

共1条 1/1 1 跳转至

机智云蓝牙接入iOS SDK集成指南

高工
2015-12-24 22:19:06     打赏

文章标题:《蓝牙接入iOS SDK集成指南》 文档更新:2015-05-14 API接口文档:文档下载

第一步:将 SDK 导入到你的工程中

登录机智云官方网站下载并解压最新版本的SDK。如果您还尚未下载,请 点击这里下载

将解压后的 GizDataAccess.framework 拖动并复制到项目的 Frameworks 目录即可

第二步:引入头文件和注册 SDK 的 AppID

登录机智云官方网站查看产品信息获得 AppID 。如果尚未注册,请点击这里注册

初始化 SDK

打开 *AppDelegate.m(*代表你的工程名字) 导入文件头

#import

在 - (BOOL)application:didFinishLaunchingWithOptions:方法中调用 startWithAppID 方法来初始化 SDK,指定APPID.

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

//Init SDK

[GizDataAccess startWithAppID:@“APP_ID”];

// ……

return YES;

}

第三步:用户登录

注册用户登录的委托

代码示例

GizDataAccessLogin* gdaLogin = [[GizDataAccessLogin alloc] initWithDelegate:YOUR_LOGIN_DELEGATE];

实现用户登录的委托方法

代码示例

- (void)gizDataAccessDidLogin:(GizDataAccessLogin *)login uid:(NSString *)uid token:(NSString *)token result:(GizDataAccessErrorCode)result message:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 登录成功

// ……

}

}

匿名登录

匿名登录时,不需要传入任何用户信息,SDK会生成默认的用户名。登录结果通过用户登录的委托返回。

代码示例:

[gdaLogin loginAnonymous];

实名登录

需要传入注册时的用户账号和密码,用户账号可以是用户名、手机号或邮箱,以及密码。登录结果通过用户登录的委托返回。

代码示例:

[gdaLogin login:@“YOUR_USERNAME” password:@“YOUR_PASSWORD”];

第三方账号登录

支持百度、腾讯、新浪账号登录。需要传入登录需要用到的uid和token,以及账号类型。登录结果通过用户登录的委托返回。

代码示例:

[gdaLogin loginWithThirdAccountType:THIRD_ACCOUNT_TYPE uid:@“UID” token:@“TOKEN”];

第四步:数据接入

注册数据接入的委托

代码示例

GizDataAccessSource* gdaSource = [[GizDataAccessSource alloc] initWithDelegate:YOUR_DATAACCESS_DELEGATE];

数据上传

实现数据上传的委托方法

代码示例:

- (void)gizDataAccessDidSaveData:(GizDataAccessSource *)source result:(GizDataAccessErrorCode)result message:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 数据上传成功

// ……

}

}

数据上传

支持批量数据上传。最后一个参数data为数组类型,可以指定每一组数据的产生时间和内容,格式为标准的JSON。上传结果,通过数据上传的委托返回。

data示例: @{@"ts": [timestamp], @"attrs": @{ [dynamic_keys]: [dynamic_values], ... } }

代码示例:

[gdaSource saveData:@“YOUR_LOGIN_TOKEN” productKey:@“YOUR_BLE_PRODUCT_KEY” deviceSN:@“YOUR_BLE_DEVICE_SN” data:@“YOUR_DATA”];

获取数据

实现获取数据的委托方法

获取到的数据内容,按以下键值对方式提供:

@"attrs" : { [dynamic_keys] : [dynamic_values], ... },

@"uid" : [uid],

@"sn" : [sn],

@"ts" : [ts],

@"product_key" : [product_key]

代码示例:

- (void)gizDataAccessDidLoadData:(GizDataAccessSource *)source data:(NSArray *)data result:(GizDataAccessErrorCode)result errorMessage:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 获取数据成功

for(NSDictionary *dict in data) {

NSString* sn = [dict valueForKey:@"device_sn"];

NSString* productkey = [dict valueForKey:@"product_key"];

NSString* uid = [dict valueForKey:@"uid"];

NSNumber *nTS = [dict valueForKey:@"ts"];

NSDictionary* attributes = [dict valueForKey:@"attrs"];

NSLog(@"sn:%@ productkey:%@ uid:%@ nTS:%@ attributes:%@", sn, productkey, uid, nTS, attributes);

}

}

}

获取数据

获取数据时,需指定起止时间段。如果limit值为0将只返回20条数据,若skip值为负数,则获取失败。数据获取结果,通过获取数据的委托返回。获取到的数据,按照时间排序,最新的数据排在最前面。

代码示例:

[gdaSource loadData:@“YOUR_LOGIN_TOKEN” productKey:@“YOUR_BLE_PRODUCT_KEY” deviceSN:@“YOUR_BLE_DEVICE_SN” startTime:START_DATA_TIME endTime:END_DATA_TIME limit:20 skip:0];

第四步:用户账号注册、信息修改和匿名转换

用户注册

注册用户账号注册的委托

代码示例:

GizDataAccessLogin* gdaRegister = [[[GizDataAccessLogin alloc] initWithDelegate:YOUR_USERREGISTER_DELEGATE];

实现用户账号注册的委托方法

代码示例

- (void)gizDataAccess:(GizDataAccessLogin *)login didRegisterUser:(NSString *)uid token:(NSString *)token result:(GizDataAccessErrorCode)result message:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 用户注册成功

// ……

}

}

用户账号注册

通过accountType参数指定账号注册方式:用户名注册、手机号注册、邮箱注册。只有手机号注册时,需要传入验证码,验证码可以通过获取手机验证码的接口获取。其他注册方式,验证码传nil。注册结果通过用户账号注册的委托返回。

代码示例:

[gdaRegister registerUser:@“YOUR_USERNAME” password:@“YOUR_PASSWORD” code:@“YOUR_PHONE_VERIFYCODE” accountType:YOUR_THIRD_ACCOUNT_TYPE];

修改密码

注册密码修改的委托

代码示例:

GizDataAccessLogin* gdaResetPassword = [[[GizDataAccessLogin alloc] initWithDelegate:YOUR_PASSWORD_RESET_DELEGATE];

实现密码修改的委托方法

代码示例:

- (void)gizDataAccess:(GizDataAccessLogin *)login didChangeUserPassword:(GizDataAccessErrorCode)result message:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 密码重置成功

// ……

}

}

重置密码

可以通过手机号和邮箱重置密码。accountType指定是手机号重置还是邮箱重置,只有手机号重置时,需要传入验证码,验证码可以通过获取手机验证码的接口获取。邮箱重置时,手机验证码传nil。重置结果通过密码修改的委托返回。

代码示例:

[gdaResetPassword resetPassword:@“YOUR_USERNAME” code:@“YOUR_PHONE_VERIFYCODE” newPassword:@“YOUR_NEW_PASSWORD” accountType:YOUR_THIRD_ACCOUNT_TYPE];

修改密码

用户实名登录后可以修改密码,修改结果通过密码修改的委托返回。

代码示例:

[gdaLogin changeUserPassword:@“YOUR_LOGIN_TOKEN” oldPassword:@“YOUR_OLD_PASSWORD” newPassword:@“YOUR_NEW_PASSWORD”];

修改用户信息

注册修改用户信息的委托

代码示例:

GizDataAccessLogin* gdaChangeUserInfo = [[[GizDataAccessLogin alloc] initWithDelegate:YOUR_CHANGE_USER_INFO_DELEGATE];

实现修改用户信息的委托方法

代码示例:

- (void)gizDataAccess:(GizDataAccessLogin *)login changeUserPassword:(GizDataAccessErrorCode)result message:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 密码重置成功

// ……

}

}

修改用户信息

用户实名登录后可以修改手机号或邮箱,accountType指定是要修改手机号还是邮箱。只有修改手机号时,需要传入验证码,验证码可以通过获取手机验证码的接口获取。修改邮箱时,验证码传nil。修改结果通过用户信息修改的委托返回。

代码示例:

[gdaLogin changeUserInfo:@“YOUR_TOKEN” username:@“YOUR_USERNAME” code:@“YOUR_PHONE_VERIFYCODE” accountType:THIRD_ACCOUNT_TYPE];

匿名转换

注册匿名转换的委托

代码示例:

GizDataAccessLogin* gdaLogin = [[[GizDataAccessLogin alloc] initWithDelegate:YOUR_ANONYMOUS_TRANS_DELEGATE];

实现匿名转换的委托方法

代码示例:

- (void)gizDataAccess:(GizDataAccessLogin *)login didTransAnonymousUser:(GizDataAccessErrorCode)result message:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 匿名转换成功

// ……

}

}

匿名转换

匿名登录后,可以转换成普通用户、手机号用户或邮箱用户,您可以通过accountType参数指定要转换的用户类型。转成手机号用户时,需要传入验证码,验证码可以通过获取手机验证码的接口获取。其他用户类型,验证码传nil。转换结果通过匿名转换的委托返回。

代码示例:

[gdaLogin transAnonymousUser:@“YOUR_TOKEN” username:@“YOUR_USERNAME” password:@“YOUR_NEW_PASSWORD” code:@“YOUR_PHONE_VERIFYCODE” accountType:THIRD_ACCOUNT_TYPE];

获取手机验证码

注册手机验证码的委托

GizDataAccessLogin* gdaVerifyCode = [[[GizDataAccessLogin alloc] initWithDelegate:YOUR_VERIFYCODE_DELEGATE];

实现手机验证码的委托方法

代码示例:

- (void)gizDataAccess:(GizDataAccessLogin *)login didRequestSendVerifyCode:(GizDataAccessErrorCode)result message:(NSString *)message {

if(result == kGizDataAccessErrorNone) {

// 获取到了手机验证码

// ……

}

}

获取手机验证码

在用户注册、信息修改、匿名用户转换等过程中,手机验证码可以通过此方法获取。验证码通过手机验证码的委托返回。

代码示例:

[gdaLogin requestSendVerifyCode: @“PHONE_VERIFYCODE”];

用户账号类型

第三方账号类型

错误码




关键词: 机智云     蓝牙    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]