iOS
本文旨在介绍如何设置 TikTok 身份验证,让您的游戏可以使用 Player Network 登录鉴权服务通过 TikTok 渠道登录。
前提条件
1. 在 TikTok 开发者平台上配置应用
1. 注册并登录 TikTok 开发者账号
使用邮箱在 TikTok 开发者平台注册并登录。
3. 创建 TikTok App
- 打开 Apps ,点击 Connect an app。

- 选择 个人开发者 或 公司组织。
- 输入 App name,点击 Confirm 完成创建。

4. 配置 App 基本信息
- 填写应用基本信息:图标、名称、应用类型、描述信息、服务条款、隐私条款。
- Platforms 勾选 iOS。

- 在 Configure for iOS 填入 iOS 包相关信息(找开发同学提供)。

5 服务条款 & 隐私政策 URL 域名认证
TikTok 要求对你填写的 ToS/隐私政策 URL 的域名进行认证,通过后才可以保存并提交审核。
- 点击 Verify URL properties。

- 在弹窗中点击 Verify properties。

- 选择 URL prefix,输入域名 URL,点击 Verify。

- 下载 TikTok 生成的签名文件(例如:
tiktokxxxx.txt)。
- 联系运维/网站同学将该文件上传到对应域名的服务器,使其可通过浏览器直接访问下载。
- 上传完成后回到 TikTok 页面点击 Verify 完成最终认证。
- 若失败:请检查签名文件是否可在浏览器正常下载(路径/权限/CDN 缓存等)。
6. App 审核信息
- 详细描述游戏如何使用TikTok Login Kit登录功能。
- 录制一个游戏使用TikTok授权登录的完整视频,由于当前并未完成TikTok接入,可以先临时上传任意视频,后续提交审核时重新提供视频即可。

7. 配置 Products:启用 Login Kit
- 进入 Products,点击 Add products。

- 点击 + Add,添加 Login Kit。

- 为 Login Kit 配置:
- iOS Universal Link(找开发同学提供)

- iOS Universal Link(找开发同学提供)
- 将链接替换为游戏的 Deep Link,但请保留回调路径后缀:
.../pnt/tiktok/logincallback
8. Scopes 配置
- 添加 Login Kit 后,TikTok 会自动添加
user.info.basic权限。 - 目前一般不需要额外添加其它 Scopes(除非业务明确需要)。
9. 保存 App 配置
- 点击右上角 Save 保存配置。
- 由于尚未完成接入与联调,请暂时不要点击 “Submit for review”。
- 若保存失败,请根据页面错误提示补齐必填项(以上步骤基本均为必需项)。

10.(推荐)创建 Sandbox 并添加测试用户
提交审核前的开发联调建议在 Sandbox 环境进行。
- 在页面左上角切换到 Sandbox,点击 Create Sandbox。

- 输入 Sandbox 名称,并勾选 Clone from Production or an existing Sandbox,点击 Confirm。

- 在 Sandbox 中点击 Add account 添加测试 TikTok 账号:
- 登录成功后,该账号会进入 Target Users 列表
- 只有 Target Users 内的账号才能进行 TikTok 登录测试

- 获取 Player Network 控制台登录账号。
- 为游戏创建新项目,或加入已有项目。
- 下载 SDK。
- 接入 SDK。
- 在 Player Network 控制台添加 TikTok 为业务的登录鉴权方式。
步骤1:为 TikTok 登录配置 SDK
-
打开项目的 INTLConfig.ini 文件:
INTLConfig.ini[INTL environment]
# WARNING: You should change this URL to the production environment when you release your game.
INTL_URL = https://test.intlgame.com
GAME_ID = {INTL_GAME_ID}
SDK_KEY = {INTL_SDK_KEY}
[INTL Log]
LOG_LEVEL = 1
LOG_CONSOLE_OUTPUT_ENABLE = 1
LOG_FILE_OUTPUT_ENABLE = 1
LOG_ENCRYPT_ENABLE = 0
LOG_COMPRESS_ENABLE = 0
[TikTok]
TIKTOK_CLIENT_KEY = {INTL_TIKTOK_CLIENT_KEY}
TIKTOK_REDIRECT_URI = {INTL_TIKTOK_REDIRECT_URI}- 将 SDK 后端环境
INTL_URL设置为https://test.intlgame.com。 - 将
{INTL_GAME_ID}和{INTL_SDK_KEY}替换为 Player Network 控制台 分配的GAME_ID和SDK_KEY的值。 - 设置
LOG_LEVEL = 1、LOG_CONSOLE_OUTPUT_ENABLE = 1、LOG_FILE_OUTPUT_ENABLE = 1、LOG_ENCRYPT_ENABLE = 0和LOG_COMPRESS_ENABLE = 0,以便在不加密或压缩输出的情况下输出控制台日志和日志文件。 - 将
{INTL_TIKTOK_CLIENT_KEY}替换为 TikTok 开发者平台为当前应用分配的 Client Key,用于标识游戏在 TikTok 登录流程中的应用身份。 - 将
{INTL_TIKTOK_REDIRECT_URI}替换为 TikTok 授权完成后回调到游戏的 Redirect URI(Deeplink 地址),用于在用户授权完成后将其跳转回游戏并携带登录结果。
- 将 SDK 后端环境
步骤2:添加 TikTok 登录
Player Network 会在拉起应用登录之前检查应用程序登录状态。
- 如果安装了 TikTok 应用程序,Player Network 会打开 TikTok 应用程序进行登录。
- 如果未安装 TikTok 应用程序,Player Network 登录页面将不会展示 TikTok 渠道登录入口。
-
注册登录相关回调。
- Unity
- Unreal Engine
// Add callbacks
public void AddAuthObserver()
{
INTLAPI.AddAuthResultObserver(OnAuthResultEvent);
}
// Remove callbacks
public void RemoveAuthObserver()
{
INTLAPI.RemoveAuthResultObserver(OnAuthResultEvent);
}
// Process the INTLAuthResult callback
public void OnAuthResultEvent(INTLAuthResult ret)
{
Debug.Log($"MethodID: {ret.MethodId}");
string methodTag = "";
if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_LOGIN)
{
methodTag = "Login";
}
else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_BIND)
{
methodTag = "Bind";
}
else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_AUTOLOGIN)
{
methodTag = "AutoLogin";
}
else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_QUERY_USER_INFO)
{
methodTag = "QueryUserInfo";
}
else if (authRet.MethodId == (int)INTLMethodID.INTL_AUTH_GET_AUTH_RESULT)
{
methodTag = "GetAuthResult";
}
}C++ Event Handling (above v1.15)
//configure callback
FINTLAuthEvent authEvent;
authEvent.AddUObject(this, &OnAuthResult_Implementation);
UINTLSDKAPI::SetAuthResultObserver(authEvent);
// Remove callbacks
UINTLSDKAPI::GetAuthResultObserver().Clear();void OnAuthResult_Implementation(FINTLAuthResult ret)
{
UE_LOG(LogTemp, Warning, TEXT("MethodID: %d"), ret.MethodId);
}Unreal Event Handling
void OnAuthResult_Implementation(FINTLAuthResult ret)
{
UE_LOG(LogTemp, Warning, TEXT("MethodID: %d"), ret.MethodId);
} -
调用
AutoLogin接口自动登录。- Unity
- Unreal Engine
INTLAPI.AutoLogin();UINTLSDKAPI::AutoLogin(); -
在自动登录失败时调用
Login接口使玩家手动登录。
- Unity
- Unreal Engine
INTLAPI.Login(INTLChannel.TikTok);
UINTLSDKAPI::Login(EINTLLoginChannel::kChannelTikTok);
- 与游戏后台同步客户端身份验证状态,等待最终验证结果。
如果接入过程中遇到问题,请参见 常见问题。