用户注册与登录
<h1>用户注册与登录</h1>
<p>直接使用BSSDKUI对应的类方法调用登录接口。登录界面打开后,玩家可进行的操作包括:</p>
<ul>
<li>手机注册、试玩。</li>
<li>登录、忘记密码
调用者需要传入对应的回调函数以处理API返回的结果。
当用户成功登录后,在界面上会出现一个悬浮球,该悬浮球是进入用户中心的入口,
用户可以在用户中心里查看及修改用户信息。
<h2>接口定义</h2>
<p>Swift</p>
<pre><code>extension BSSDKUI {
static func showSignIn(appID: String,
clientID: String,
clientKey: String,
success: @escaping SignInSuccessHandler,
failure: @escaping FailureHandler)
}</code></pre>
<p>Objective-C</p>
<pre><code>
@interface BSSDKUI</code></pre></li>
<li>(void)showSignInAppID:(NSString <em> _Nonnull)appID
clientID:(NSString </em> _Nonnull)clientID
clientKey:(NSString <em> _Nonnull)clientKey
success:(void (^ _Nonnull)(SignInMember </em> _Nonnull))success
failure:(void (^ _Nonnull)(BSSDKUIError * _Nonnull))failure;
@end
<pre><code>## 接口参数说明
| 参数名 | 类型 | 参数说明 |
| --- | --- | --- |
| appID |String | 游戏App 的 ID |
| clientID | String | 客户ID |
| clientKey | String | 客户密钥 |
| success | SignInSuccessHandler | 登录接口的成功回调 |
| failure | FailureHandler | 登录接口的失败回调 |
## 接口回调说明
● 登录成功回调方法中参数说明:
**Swift**</code></pre>
<p>public typealias SignInSuccessHandler = (SignInMember) -> Void
@objc public class SignInMember: NSObject {
@objc public let id: String
@objc public let sessionToken: String
}</p>
<pre><code>**Objective-C**</code></pre>
<p>@interface SignInMember : NSObject
@property (nonatomic, readonly, copy) NSString <em> _Nonnull id;
@property (nonatomic, readonly, copy) NSString </em> _Nonnull sessionToken;
@end</p>
<pre><code>回调参数说明:
| 参数名 | 类型 |参数说明 |
| --- | --- |--- |
| id | string |登录成功后,用户的mem_id(唯一) |
| sessionToken | string |用户此次登陆平台分配的唯一token(唯一) |
● 登录失败回调方法中参数说明:
**Swift**</code></pre>
<p>@objc public final class BSSDKUIError: NSObject, Error {
@objc public let code: Int
@objc public let message: String
}</p>
<pre><code>**Objective-C**</code></pre>
<p>@interface BSSDKUIError : NSObject
@property (nonatomic, readonly) NSInteger code;
@property (nonatomic, readonly, copy) NSString * _Nonnull message;
@end</p>
<pre><code>该方法在产生业务逻辑错误时调用。
| 参数名 | 类型 |参数说明 |
| --- | --- |--- |
| code | string |登录失败错误码 |
| msg | string |登录失败的消息提示 |
## 调用完整代码
**Swift**</code></pre>
<p>BSSDKUI.showSignIn(appID: "your_app_id",
clientID: "your_client_id",
clientKey: "your_client_key",
success: { print("Sign in success:($0)")},
failure: { print("Sign in Failed: ($0)")})</p>
<pre><code>**Objective-C**</code></pre>
<p>[BSSDKUI showSignInAppID:@"your_app_id"
clientID:@"your_client_id"
clientKey:@"your_client_key"
success:^(SignInMember <em> _Nonnull member) {NSLog(@"Sign in success: %@", member);}
failure:^(BSSDKUIError </em> _Nonnull error) {NSLog(@"Sign in Failed: %@", error);}];</p>
<pre><code></code></pre></li>
</ul>