账号模块
合作方平台 Token 登录小雅 OS
/**
* 第三方平台登录/授权登录
*/
+ (void)loginWithThirdUid:(long)uid
thirdAccessToken:(nullable NSString*)token
completionBlock:(nullable void(^)(BOOL success))block;
需传入参数:
thirdUid:合作方平台的账号id(例如喜马拉雅账号id)
thirdAccessToken:合作方平台token(例如登录喜马拉雅账号后的token)
在登录前,需先登录登录合作方平台授权,例如喜马拉雅登录成功后,获取喜马拉雅id以及对应的access_token,再进行SDK登录。
[XYSDK loginWithThirdUid:self.xmAuthModel.uid
thirdAccessToken:self.xmAuthModel.access_token
completionBlock:^(BOOL success) {
if (success) {
}
}];
返回值如下:
success: BOOL类型,表示是否刷新成功
credential 登录
/**
* 第三方平台登录/授权登录
*/
+ (void)loginWithCredential:(nullable NSString*)credential
completionBlock:(nullable void(^)(BOOL success))block;
需传入参数:
credential:NSString类型,登录使用的凭证
刷新token
刷新小雅OS的token:
/**
* 刷新小雅OS token
*/
+ (void)refreshTokenCompletionBlock:(nullable void(^)(BOOL success))block;
SDK接口调用前会检查token是否过期,若过期会主动刷新token,因此正常情况下无需开发者刷新token
绑定喜马拉雅账号
当使用第三方账户登录(除喜马拉雅授权登录)、credential登录小雅OS后,账号并未与喜马拉雅关联,此时绑定的音箱不能享受喜马拉雅会员等服务。头文件引用:#import < XYServiceSDK/XYSDK+Account.h >
。
查询喜马拉雅账号信息
查询接口主要提供是否已经绑定、绑定页面H5链接(未绑定)、绑定的喜马拉雅账号昵称(已绑定)等信息:
+ (void)requestXMLYUserInfo:(nullable void(^)(NSDictionary *__nullable result, NSError * _Nullable error))block;
返回数据如下:
{
"skillPtfId": "os.ptf.xmly.testsdkdemo",
"qrcode": {
"expiresIn": 600,
"qrId": "76c226247e2741c2b9b0a2208e7329ff",
"url": "https://mobile.ximalaya.com/passport-sign-mobile/qrcode/login/76c226247e2741c2b9b0a2208e7329ff?to=%E5%96%9C%E9%A9%AC%E6%8B%89%E9%9B%85"
},
"h5": {
"loginPage": "http://api.uat.xiaoyastar.com/xy-os-ucenter/open/skill-login/h5?osAccessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjI0NTc3LCJza2lsbElkIjoib3Muc2tpbGwuMTQiLCJpc3MiOiJ4eS1vcy11Y2VudGVyIiwiZGV2aWNlSWQiOiJDMjZCQUQ3Ri1FMTdBLTQ5NzUtQUIyQS0wOTIzMjZCMDU2OEQifQ.9COYWvLfRFuggdJH5Sy6EnrGRW_rVM0xol3x2ep1F-M"
}, // 绑定喜马拉雅的url
"status": 0 // 绑定状态:0 未绑定, 1 已绑定,2 不需要绑定
}
绑定喜马拉雅、领取会员
为了方便绑定喜马拉雅账号,直接调用以下接口,以push的方式进入授权H5页面控制器:
+ (UIViewController *_Nonnull)loadSkillLoginPage:(NSString *_Nonnull)urlString deviceSn:(NSString *_Nonnull)sn deviceType:(XYOSDeviceType)deviceType completion:(nullable void(^)(void))block;
需传入参数:
urlString: 绑定H5页面的url(由查询接口获取) sn: 音箱sn deviceType: 设备类型(Nano、Home) block: 绑定完成的回调
解绑喜马拉雅账号
当小雅OS账号已绑定喜马拉雅账号,可主动解绑:
/**
* 解绑喜马拉雅账号
*/
+ (void)requestThirdAccountUnbindCompletion:(nullable void(^)(NSDictionary *__nullable result, NSError * _Nullable error))block;