Skip to main content

Windows

本文旨在介绍如何设置 X 身份验证,让您的游戏可以使用 Player Network 登录鉴权服务通过 X 渠道登录。

前提条件​

1. 在 X 开发者网站上设置游戏

1. 创建 X 应用​

tip

建议使用腾讯邮箱注册账号,这样可以提高后期申请的成功率。

根据提示在 X 开发者网站 上注册团队开发者账号或个人开发者账号。有了开发者账号,您就可以在 Developer Portal 上创建应用程序。

  1. 根据提示创建一个新项目。

    图片:Create X project

  2. 点击你创建的应用程序。

    图片:X app

  3. 点击 Regenerate 获取 API Key 和 API Secret Key。

Important

此页面不会再次显示,请务必保存好此信息。

图片:X API key and API secret key 图片:X API key and API secret key

  1. 点击 Set up。

    图片:X setup

  2. 选择 Read And Write。

    图片:X app permissions

  3. 在应用程序类型中选择 Web App。

    图片:X OAuth

  4. 为回调 URL 添加测试环境和生产环境 URL。您将进入游戏的官方网站。点击 Save Changes。

caution

如果游戏已经上线,则不能删除现有的回调 URL,只能添加。

适用于 Player Network SDK V1.15 及更早版本的 Android/iOS 平台

https://image.intlgame.com/v2/test/jssdk/twitterlogincallback.html
https://image.intlgame.com/v2/release/jssdk/twitterlogincallback.html

适用于 Player Network SDK V1.16 及更高版本的 Android/iOS 平台和 Windows 平台

https://test-common-web.intlgame.com/jssdk/twitterlogincallback.html
https://common-web.intlgame.com/jssdk/twitterlogincallback.html

图片:X callback URLs

2. 检索应用程序信息​

您需要 X API Key 和 API Secret Key才能在 Player Network 添加 X 登录渠道。

图片:X app information

  1. 进入 Player Network 控制台, 为游戏创建新项目,或加入已有项目。
  2. 下载 SDK。
  3. 接入 SDK。
  4. 在 Player Network 控制台添加 X 为业务的登录鉴权方式。

步骤1:为 X 登录配置 SDK​

  1. 打开项目的 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
    [X]
    TWITTER_CONSUMER_KEY = {INTL_TWITTER_CONSUMER_KEY}
    TWITTER_CONSUMER_SECRET = {INTL_TWITTER_CONSUMER_SECRET}
    • 将 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_TWITTER_CONSUMER_KEY} 和 {INTL_TWITTER_CONSUMER_SECRET} 替换为 X API key 和 API Key Secret。

步骤2:添加 X 登录​

  1. 注册登录相关回调。
// Add callbacks
public void AddAuthObserver()
{
INTLAPI.AddAuthResultObserver(OnAuthResultEvent);
}

// Remove callbacks
public void RemoveAuthObserver()
{
INTLAPI.RemoveAuthResultObserver(OnAuthResultEvent);
}

// Process the INTLAuthResult callback
public void OnAuthResultEvent(INTLAuthResult AuthResult)
{
Debug.Log($"MethodID: {AuthResult.MethodId}");

string methodTag = "";
switch (AuthResult.MethodId)
{
case (int)INTLMethodID.INTL_AUTH_LOGIN:
methodTag = "Login";
break;
case (int)INTLMethodID.INTL_AUTH_BIND:
methodTag = "Bind";
break;
case (int)INTLMethodID.INTL_AUTH_AUTOLOGIN:
methodTag = "AutoLogin";
break;
case (int)INTLMethodID.INTL_AUTH_QUERY_USER_INFO:
methodTag = "QueryUserInfo";
break;
case (int)INTLMethodID.INTL_AUTH_GET_AUTH_RESULT:
methodTag = "GetAuthResult";
break;
}
}
  1. 调用 AutoLogin 接口自动登录。
INTLAPI.AutoLogin();
  1. 在自动登录失败时调用 Login 接口使玩家手动登录。
INTLAPI.Login(INTLChannel.Twitter); 
  1. 与游戏后台同步客户端身份验证状态,等待最终验证结果。

[可选] 设置 email 权限​

要在 X 登录时获取玩家邮箱需先设置对应权限,开启后将在 AuthResult 的 ChannelInfo 中返回 email。

  • 基于合规考虑,可针对特定来源对返回的 email 做 mask 处理,如有需求请联系 Player Network 助手打开。
  • 可在后台流水日志中上报 hash 后的 base64(sha256(email)),如有需求请联系 Player Network 助手打开。
  • 可用于验证玩家信息或绑定列表是否包含 email 信息,如有需求请联系 Player Network 助手打开。
  1. 在 X Developer Platform 的 OAuth 2.0 keys 的 Edit settings 中,勾选 Request email from users。

    图片:OAUTH1.OA SETTINGS
  2. 在 Player Network 控制台 开启 email 返回功能,将 return_email 设置为 YES,详细步骤请参见 第三方渠道配置。

步骤3:验收登录功能​

在 Player Network SDK 日志中搜索关键字 "AuthResult" 确认渠道名称和 OpenID 是否正确返回。如果正确,则表明集成配置成功,登录功能已成功添加。

如果接入过程中遇到问题,请参见 常见问题。