跳到主要内容
版本:v4

Android SDK 开发指南

本文介绍如何在 Android 原生项目中接入 TapTap 登录。

集成前准备​

  1. 参考 开发者中心配置 创建应用、配置包名与签名证书
  2. 参考 TapTap 登录功能介绍开通 TapTap 登录服务
  3. 参考 Android 集成指南 完成 TapSDK 基础接入

SDK 获取​

在 app module 的 build.gradle 中添加对应依赖:

dependencies {
implementation 'com.taptap.sdk:tap-core:4.11.0'
implementation 'com.taptap.sdk:tap-login:4.11.0'
}

工程配置​

该模块依赖如下权限:

权限使用目的权限申请时机
网络权限用于访问网络数据用户首次使用该功能时会申请权限

该模块将在应用中添加如下配置:

<uses-permission android:name="android.permission.INTERNET"/>

发起登录​

在用户点击 TapTap 登录按钮后调用,并传入当前 Activity。授权范围必须包含 public_profile 或 basic_info,可按业务组合其他权限。

权限说明
public_profile获得 openId、unionId、用户昵称、用户头像
basic_info获得 openId 和 unionId
user_friends获得访问 TapTap 好友相关数据的权限
提示

若只请求 basic_info,用户可使用无感登录,无需手动确认授权。

import com.taptap.sdk.kit.internal.callback.TapTapCallback;
import com.taptap.sdk.kit.internal.exception.TapTapException;
import com.taptap.sdk.login.Scopes;
import com.taptap.sdk.login.TapTapAccount;
import com.taptap.sdk.login.TapTapLogin;
import androidx.annotation.NonNull;

String[] scopes = new String[]{Scopes.SCOPE_PUBLIC_PROFILE};

TapTapLogin.loginWithScopes(activity, scopes, new TapTapCallback<TapTapAccount>() {
@Override
public void onSuccess(TapTapAccount tapTapAccount) {
// 登录成功,建立游戏登录态
}

@Override
public void onFail(@NonNull TapTapException exception) {
// 登录失败,记录错误并允许重试
}

@Override
public void onCancel() {
// 用户取消登录,不要提示为系统错误
}
});
参数类型必选说明
activityActivity是用于展示登录页面的当前 Android Activity。
scopesString[]是本次登录请求的授权范围,必须包含 public_profile 或 basic_info。
callbackTapTapCallback<TapTapAccount>是接收登录成功、用户取消和登录失败结果。成功时返回 TapTapAccount。

获取当前用户​

游戏启动时先调用该接口。该接口没有参数,返回本地缓存的 TapTapAccount;没有可用登录信息时返回 null。如果本地已有有效登录信息,不要再弹出登录按钮。

import com.taptap.sdk.login.AccessToken;
import com.taptap.sdk.login.TapTapAccount;
import com.taptap.sdk.login.TapTapLogin;

TapTapAccount taptapAccount = TapTapLogin.getCurrentTapAccount();
if (taptapAccount != null) {
// 用户已登录
AccessToken accessToken = taptapAccount.getAccessToken();
String openId = taptapAccount.getOpenId();
} else {
// 用户未登录,显示登录按钮
}
字段说明
accessToken玩家在 TapTap 平台的用户 token。服务端调用 OpenAPI 时使用,见 获取用户信息
openId用户在当前游戏内的唯一标识
unionId用户在同一厂商下所有游戏中的统一标识
nameTapTap 昵称
avatarTapTap 头像 URL

登出​

登出只清除本地缓存的 TapTap 登录信息,不会退出 TapTap 客户端。

import com.taptap.sdk.login.TapTapLogin;

TapTapLogin.logout();

接入验证​

场景预期结果
初始化完成后点击登录回调 onSuccess、onCancel 或 onFail 之一
已安装 TapTap 客户端拉起客户端完成授权
未安装 TapTap 客户端进入 WebView 授权
登录成功后重启应用getCurrentTapAccount() 返回当前账号
调用 logout()本地登录信息被清除,可重新发起登录
用户取消登录回调 onCancel(),不提示系统错误