特点
自建账号适用于2023年及之前接入的业务,新业务仅可接入 LI PASS。更多信息,请参见 LEVEL INFINITE PASS。
绑定自建账号和其他渠道
如果游戏提供了多个登录渠道,包括自建账号以及第三方渠道或游客渠道,则可以将自建账号与其他渠道绑定。下次登录时,用户可以选择使用绑定的任何渠道登录,并仍然登录到同一账号。
当玩家已经登录其他渠道并绑定自建账号时,自建账号应从未被登录过。
验证流程指南
登录其他渠道 + 绑定自建账号
玩家通过游客或第三方渠道登录。
调用
QueryUserInfo
,检查是否登录的账号已经绑定了自建账号。如果已绑定,玩家将无法再绑定另一个账号,除非取消已有的绑定。调用
SetAccountInfo
设置自建账号渠道信息。调用
QueryCanBind
查看由玩家输入的账号是否已绑定,以及该账号是否已注册。如果此账号之前尚未绑定,则可以继续收集该账号的登录/注册凭证,并将它们作为
extra_json
传递给Bind
接口。extra_json
中的type
字段用于确定是注册还是登录自建账号。注意如果账号以前没有注册过,可以选择注册用户。否则,可以选择使用验证码或密码来进行登录。流程图中提供了注册与验证码登录的步骤作为参考,详见
Bind
接口页面。调用
Bind
接口。
登录自建账号 + 绑定其他渠道
- 玩家登录自建账号。
- 调用
QueryUserInfo
,检查是否登录的账号已经绑定了想要绑定的渠道。如果已绑定,玩家将无法再绑定另一个账号。 - 如果没有绑定,调用
Bind
接口。
映射自建账号和其他渠道
如果游戏通过自建账号通道提供用户认证功能,而玩家必须使用第三方渠道,如 Steam 或 PS5 来登录,建议使用 LoginWithMappedChannel
验证过程,将自定义账号映射到第三方渠道。这提供了以下优势。
简化登录流程
一般情况下,游戏平台会要求玩家先登录游戏平台,玩家需要再一次登录到游戏。但是,通过将玩家的自建账号映射到第三方渠道,玩家只需通过第三方渠道登录一次,Player Network SDK 将对玩家的自定义账号进行身份验证。
例如,如果玩家的游戏在 Steam 平台上,则在首次玩游戏时,玩家需要先登录 Steam 账号,然后再登录到自建账号。 Player Network SDK 将在玩家的 Steam 账号和自定义账号之间建立映射。后续登录时,玩家仅需登录 Steam,Player Network SDK 将根据映射找到玩家的自定义账号。
多个游戏间的账号映射
由于账号映射是跨游戏的,如果有多个使用同一自建账号体系的游戏,只需要在一个游戏中映射第三方渠道和自建账号,玩家就可以 在其他游戏中也使用简化的登录流程。
支持的第三方渠道:
- Steam (21)
- PS5
验证流程指南
推荐的验证流程:
调用
InitSDK
。调用
SetAccountInfo
设置自建账号渠道信息。第三方渠道调用
LoginWithMappedChannel
。- 如果返回结果为成功,意味着玩家的三方渠道账号具有与自建账号的映射,并且无需再次登录/注册自建账号,登录成功并且流程结束。
- 如果返回结果为失败,有以下几种情况:
- 三方渠道账号没有与自建账号的映射。这种情况
LoginWithMappedChannel
会返回ThirdCode
=1801
。此时需要玩家登录/注册自建账号成功后再进行BuildMapWithLoggedinChannel
。 - 如果此自建账号已经映射过 PlayStation 账号,并且映射已经被解除,此自建账号再次映射其他 PSN 账号会返回
1802
错误码。 - 三方渠道账号具有与自建账号的映射,但是玩家需要再次登录自建账号,例如,玩家正在登录新游戏并需要进行身份验证,或者身份验证令牌已过期。这种情况
LoginWithMappedChannel
会返回RetCode
=27
,此时需要玩家登录/注册自建账号成功后再进行BuildMapWithLoggedinChannel
。 - 三方渠道登录失败。需要提示玩家重新登录三方渠道,三方渠道登录成功后才可以进行之后的步骤。
- 三方渠道账号没有与自建账号的映射。这种情况
玩家使用自建账号登录后,调用
BuildMaamWiLoggedinChannel
。- 如果这是玩家第一次调用此函数,它将在三方渠道账号和自建账号之间建立映射关系,并返回三方渠道
AuthResult
。 - 如果这不是玩家第一次调用此函数, 它将直接返回三方渠道
AuthResult
。
- 如果这是玩家第一次调用此函数,它将在三方渠道账号和自建账号之间建立映射关系,并返回三方渠道
完成身份验证过程。