接入 TapTap 登录
快速开始中简单介绍了如何在游戏中加入 Tap 登录,这里详细介绍 TapSDK 的登录功能。
检查登录状态
尝试获取当前用户的 Access Token
,如 Access Token
为空则用户未登录。
调用登录方法前先检查登录状态,可以避免重复登录。
- Unity
- Android
- iOS
TapBootstrap.GetAccessToken((accessToken, error) => {
if (accessToken == null)
{
Debug.Log("当前未登录");
}
else
{
Debug.Log("已登录");
}
});
if (TapBootstrap.getCurrentToken() == null) {
// 未登录
} else {
// 已登录
}
AccessToken *accessToken = [TapBootstrap getCurrentToken];
if (accessToken == nil) {
// 未登录
} else {
// 已登录
}
登录资格校验
提示
该功能仅用于需要上线「篝火测试服」的游戏,对有登录白名单的用户进行资格校验,防止测试阶段开发包外传被利用
请在登录成功的回调里调用相关 API 进行校验,点击了解篝火计划
- Unity
- Android
- iOS
public void OnLoginSuccess(AccessToken accessToken)
{
Debug.Log("登录成功:" + accessToken.ToJSON());
TapBootstrap.GetTestQualification((valid, error) => {
if (valid)
{
Debug.Log("该用户已拥有测试资格");
}
else
{
Debug.Log("不具备测试资格,游戏层面进行拦截");
}
});
}
TapBootstrap.getTestQualification(new Callback<Boolean>() {
@Override
public void onSuccess(Boolean aBoolean) {
// 该玩家已拥有测试资格
}
@Override
public void onFail(TapError tapError) {
// 该玩家不具备测试资格, 游戏层面进行拦截
}
});
- (void)onLoginSuccess:(AccessToken *)token{
NSLog (@"onLoginSuccess");
[TapBootstrap getTestQualification:^(BOOL isQualified, NSError *_Nullable error) {
if (error) {
// 网络异常或游戏未开启篝火测试
} else {
if (isQualified) {
// 有篝火测试资格
}
}
}];
}
Error 信息为网络错误,或者该游戏未开通篝火测试服
获取用户信息
获取当前登录用户的 ID、昵称、头像等基本信息。
- Unity
- Android
- iOS
TapBootstrap.GetUser((user, error) => {
Debug.Log(user.ToJSON());
});
TapBootstrap.getUser(new Callback<TapUser>() {
@Override
public void onSuccess(TapUser tapUser) {
}
@Override
public void onFail(TapError tapError) {
}
});
[TapBootstrap getUser:^(TapUser * _Nullable userInfo, NSError * _Nullable error) {
if (error) {
NSLog(@"获取用户信息失败 %@", error);
} else {
NSLog(@"获取用户信息成功 %@", userInfo);
}
}];
登录
执行登录操作,优先跳转 TapTap APP 登录,当没有 TapTap APP 时,会打开内置 WebView 登录。 另外,请仔细阅读登录按钮设计规范。
- Unity
- Android
- iOS
LoginType loginType = LoginType.TAPTAP;
TapBootstrap.Login(loginType, new string[] { "public_profile" });
TapBootstrap.login(MainActivity.this, LoginType.TAPTAP, "public_profile");
TapBootstrapLoginType loginType = TapBootstrapLoginTypeTapTap;
[TapBootstrap login:(loginType) permissions:@[@"public_profile"]];
上述代码示例中,登录类型固定为 TapTap 登录,权限固定为 public_profile
。
登出
退出登录,清除用户登录缓存。
- Unity
- Android
- iOS
TapBootstrap.Logout();
TapBootstrap.logout();
[TapBootstrap logout];