开发

百度系私有能力

以下为百度系宿主的私有端能力,仅提供给百度系内部宿主APP使用,主要用在百度内部业务、运营活动中。百度系宿主需要单独引入BBAMNPBDExtension库,同时根据一些能力等级要求,必选能力必须要实现对应协议接口,可选能力建议实现对应协议接口。(注:宿主工程有以下能力代码需要删除,以免升级后端能力重复,端能力描述收、运行时报错)

thirdPartyLogin

  • 端能力名称:swan.thirdPartyLogin
  • 端能力简介:调起第三方登录
  • 实现协议(可选实现):BBASMBDAccountAdapterProtocolthirdPartyLogin... 方法
  • 参考实现:开源demo中的BBASMBDAccountImplement.m
1
2
3
4
5
6
7
8
/// completionBlock 必须回调
+ (void)thirdPartyLogin:(BBASMAccountLoginType)loginType
complete:(BBASMExternalSeviceCallback)completionBlock
superVC:(UIViewController *)viewController {
[BBASMAccountHelper thirdPartyLogin:loginType
complete:completionBlock
superVC:viewController];
}

privateGetUserInfo

  • 端能力名称:swan.getPrivateGetUserInfo
  • 端能力简介:获取用户私有信息
  • 实现协议(必须实现):BBASMAccountAdapterProtocolgetUserInfo 方法
  • 参考实现:开源demo中的BBASMAccountImplement.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
+ (NSDictionary *)getUserInfo {
NSString *userName = [BBASMAccountHelper userName] ? : @"";
NSString *nickName = [BBASMAccountHelper nickName] ? : @"";
NSString *portrait = [BBASMAccountHelper portrait] ? : @"";
NSInteger gender = [BBASMAccountHelper gender];
NSString *userID = [BBASMAccountHelper getUserIdentity] ? : @"";
BOOL isLogin = [BBASMAccountHelper isLoggedIn];
if (isLogin) {
return @{@"userName": userName,
@"nickName": nickName,
@"portrait": portrait,
@"userID": userID,
@"gender": @(gender),
@"isLogin": @(isLogin)};
} else {
return @{@"isLogin": @(isLogin)};
}
}

getStoken

  • 端能力名称:swan.getStoken
  • 端能力简介:获取百度账号下的 stoken 信息
  • 实现协议(必须实现):BBASMBDAccountAdapterProtocolgetStokenWithString... 方法
  • 参考实现:开源demo中的BBASMBDAccountImplement.m
1
2
3
4
5
6
7
8
9
/// successBlock 在获取 stoken 成功时必须回调
/// failureBlock 在获取 stoken 失败时必须回调
+ (void)getStokenWithString:(NSString *)tpl
success:(void (^)(NSString *stoken))successBlock
failure:(void (^)(NSError *error))failureBlock {
[BBASMAccountHelper getStokenWithString:tpl
success:successBlock
failure:failureBlock];
}

getBDUSS

  • 端能力名称:swan.getBDUSS
  • 端能力简介:获取百度账号下 bduss 信息
  • 实现协议(必须实现):BBASMBDAccountAdapterProtocolgetBDUSS 方法
  • 参考实现:开源demo中的BBASMBDAccountImplement.m
1
2
3
+ (NSString *)getBduss {
return [BBASMAccountHelper getBduss];
}

getOpenBDUSS

  • 端能力名称:swan.getOpenBDUSS
  • 端能力简介:获取 openBduss 信息
  • 实现协议(可选实现):BBASMBDAccountAdapterProtocolgetOpenBdussWithClientID... 方法
  • 参考实现:开源demo中的BBASMBDAccountImplement.m
1
2
3
4
5
6
7
8
9
/// completion 必须回调
+ (void)getOpenBdussWithClientID:(NSString *)clientID
tplList:(NSArray *)tplList
completion:(void (^)(id<BBASMAccountOpenBdussInfoProtocol>info, NSError *error))completion {
[BBASMAccountHelper getOpenBdussWithClientID:clientID
tplList:tplList
completion:completion];

}

queryQuickLoginInfo

  • 端能力名称:swan.queryQuickLoginInfo
  • 端能力简介:查询一键登录相关信息
  • 实现协议(可选实现):BBASMBDAccountAdapterProtocolqueryQuickLoginInfo... 方法
  • 参考实现:开源demo中的BBASMBDAccountImplement.m
1
2
3
4
/// completionBlock 必须回调
+ (void)queryQuickLoginInfo:(void(^)(id<BBASMAccountCheckOneKeyResultProtocol> result, NSError *error))completionBlock {
[BBASMAccountHelper queryQuickLoginInfo:completionBlock];
}

quickLogin

  • 端能力名称:swan.quickLogin
  • 端能力简介:一键登录
  • 实现协议(可选实现):BBASMBDAccountAdapterProtocolquickLogin... 方法
  • 参考实现:开源demo中的BBASMBDAccountImplement.m
1
2
3
4
/// completionBlock 必须回调
+ (void)quickLogin:(BBASMExternalSeviceCallback)completionBlock {
[BBASMAccountHelper quickLogin:completionBlock];
}

setAccountAvatar

  • 端能力名称:swan.setAccountAvatar
  • 端能力简介:设置百度账号头像
  • 实现协议(可选实现):BBASMBDAccountAdapterProtocolsaveAccountPortrait 方法
  • 参考实现:开源demo中的BBASMBDAccountImplement.m
1
2
3
4
5
6
7
/// completion 必须回调
+ (void)saveAccountPortrait:(UIImage *)portrait
portraitType:(BBASMAccountSetPortraitType)type
completion:(void(^)(BOOL success, NSString *errmsg))completion {
[BBASMAccountHelper saveAccountPortrait:portrait
completion:completion];
}