跳到主要内容

特点

警告

自建账号适用于2023年及之前接入的业务,新业务仅可接入 LI PASS。更多信息,请参见 LEVEL INFINITE PASS

绑定自建账号和其他渠道

如果游戏提供了多个登录渠道,包括自建账号以及第三方渠道或游客渠道,则可以将自建账号与其他渠道绑定。下次登录时,用户可以选择使用绑定的任何渠道登录,并仍然登录到同一账号。

注意

当玩家已经登录其他渠道并绑定自建账号时,自建账号应从未被登录过。

验证流程指南

登录其他渠道 + 绑定自建账号

图片:自建账号绑定

  1. 玩家通过游客或第三方渠道登录。

  2. 调用 QueryUserInfo,检查是否登录的账号已经绑定了自建账号。如果已绑定,玩家将无法再绑定另一个账号,除非取消已有的绑定。

  3. 调用 SetAccountInfo 设置自建账号渠道信息。

  4. 调用 QueryCanBind 查看由玩家输入的账号是否已绑定,以及该账号是否已注册。

  5. 如果此账号之前尚未绑定,则可以继续收集该账号的登录/注册凭证,并将它们作为 extra_json 传递给 Bind 接口。extra_json 中的 type 字段用于确定是注册还是登录自建账号。

    注意

    如果账号以前没有注册过,可以选择注册用户。否则,可以选择使用验证码或密码来进行登录。流程图中提供了注册与验证码登录的步骤作为参考,详见 Bind 接口页面。

  6. 调用 Bind 接口。

登录自建账号 + 绑定其他渠道

图片:自建账号绑定

  1. 玩家登录自建账号。
  2. 调用 QueryUserInfo,检查是否登录的账号已经绑定了想要绑定的渠道。如果已绑定,玩家将无法再绑定另一个账号。
  3. 如果没有绑定,调用 Bind 接口。

映射自建账号和其他渠道

如果游戏通过自建账号通道提供用户认证功能,而玩家必须使用第三方渠道,如 Steam 或 PS5 来登录,建议使用 LoginWithMappedChannel 验证过程,将自定义账号映射到第三方渠道。这提供了以下优势。

简化登录流程

一般情况下,游戏平台会要求玩家先登录游戏平台,玩家需要再一次登录到游戏。但是,通过将玩家的自建账号映射到第三方渠道,玩家只需通过第三方渠道登录一次,Player Network SDK 将对玩家的自定义账号进行身份验证。

例如,如果玩家的游戏在 Steam 平台上,则在首次玩游戏时,玩家需要先登录 Steam 账号,然后再登录到自建账号。 Player Network SDK 将在玩家的 Steam 账号和自定义账号之间建立映射。后续登录时,玩家仅需登录 Steam,Player Network SDK 将根据映射找到玩家的自定义账号。

多个游戏间的账号映射

由于账号映射是跨游戏的,如果有多个使用同一自建账号体系的游戏,只需要在一个游戏中映射第三方渠道和自建账号,玩家就可以 在其他游戏中也使用简化的登录流程。

支持的第三方渠道:

  1. Steam (21)
  2. PS5

验证流程指南

图片:推荐登录进程

推荐的验证流程:

  1. 调用 InitSDK

  2. 调用 SetAccountInfo 设置自建账号渠道信息。

  3. 第三方渠道调用 LoginWithMappedChannel

    • 如果返回结果为成功,意味着玩家的三方渠道账号具有与自建账号的映射,并且无需再次登录/注册自建账号,登录成功并且流程结束。
    • 如果返回结果为失败,有以下几种情况:
      • 三方渠道账号没有与自建账号的映射。这种情况 LoginWithMappedChannel 会返回 ThirdCode=1801。此时需要玩家登录/注册自建账号成功后再进行 BuildMapWithLoggedinChannel
      • 如果此自建账号已经映射过 PlayStation 账号,并且映射已经被解除,此自建账号再次映射其他 PSN 账号会返回 1802 错误码。
      • 三方渠道账号具有与自建账号的映射,但是玩家需要再次登录自建账号,例如,玩家正在登录新游戏并需要进行身份验证,或者身份验证令牌已过期。这种情况 LoginWithMappedChannel 会返回 RetCode=27,此时需要玩家登录/注册自建账号成功后再进行 BuildMapWithLoggedinChannel
      • 三方渠道登录失败。需要提示玩家重新登录三方渠道,三方渠道登录成功后才可以进行之后的步骤。
  4. 玩家使用自建账号登录后,调用 BuildMaamWiLoggedinChannel

    • 如果这是玩家第一次调用此函数,它将在三方渠道账号和自建账号之间建立映射关系,并返回三方渠道 AuthResult
    • 如果这不是玩家第一次调用此函数, 它将直接返回三方渠道 AuthResult
  5. 完成身份验证过程。