跳到主要内容

映射账号

警告

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

如果游戏通过自建账号通道提供用户认证功能,而玩家必须使用第三方渠道,如 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. 完成身份验证过程。