1、背景:
目前心动海外游戏在现有 TapTap、游客登录基础上,允许额外开通 Apple、Google 登录。注意:该功能仅针对用海外。
基于目前海外用户习惯,当用户使用不同方式登录(Apple、Google、TapTap)且为同一邮箱时,需要让其登录上同一账号,防止其账号裂开。详细背景。
例如用户使用 TapTap (邮箱 A)登录并创建心动账号(XDID:1)后,再使用新的 Google (邮箱 A)账号登录时,会自动登录并绑定该 Google 账号至心动账号(XDID:1)。
2、处理事项
基于邮箱登录策略,防止用户账号裂开,以下场景项目组需要自行处理并告知用户:
场景一:用户未验证 TapTap 邮箱导致登录失败
前置条件:
- 用户使用邮箱、密码注册 TapTap 账号时未通过邮件验证邮箱。
场景描述:
- 当用户使用未验证邮箱的 TapTap 账号登录后,需要告知其邮箱未验证并弹窗引导其前往邮箱进行验证。
弹窗文案:
- 标题:邮箱未验证
- 内容:当前
{第三方平台名称}
账号所关联的邮箱({从第三方平台获取的邮箱信息}
)未被验证,请先查看注册{第三方平台名称}
账号时发送至 ({从第三方平台获取的邮箱信息}
)的验证邮件,并根据邮件指引验证成功后再次尝试登录。
场景二:多个心动账号绑定同一邮箱
前置条件:
- XDID:1 已绑定 TapTap 账号(邮箱 A)、Google 账号 (邮箱 B)
- XDID:2 已绑定 Google 账号(邮箱 A)
用户流程:
- 用户使用 Apple 账号 (邮箱 A)登录时,由于 SDK 并不知晓用户期望绑定哪一个 XDID 所以需要告知用户账号已存在并引导用户登录原有账号执行绑定、解绑操作。
弹窗文案:
- 标题:账号已存在
- 内容:当前
{第三方平台名称}
账号所关联的邮箱({从第三方平台获取的邮箱信息}
)已被用于另一个游戏账号,请使用该邮箱所关联的{邮箱所关联心动账号下绑定该邮箱的其他登录方式}
登录游戏账号后进入「账号安全中心」进行账号绑定、解绑操作。
场景三:现有心动账号已绑定用户当前的登录方式
前置条件:
- XDID:1 已绑定 TapTap 账号(邮箱 A)、Google 账号 (邮箱 B)
用户流程:
- 用户使用 TapTap (邮箱 B)登录时,为了防止用户账号裂开情况,将告知用户账号已存在,并弹窗引导用户登录原有账号执行绑定、解绑操作。
弹窗文案
- 标题:账号已存在
- 内容:当前
{第三方平台名称}
账号所关联的邮箱({从第三方平台获取的邮箱信息}
)对应的游戏账号已绑定其他{第三方平台名称}
账号 。请使用该邮箱所关联的{邮箱所关联心动账号下绑定该邮箱的其他登录方式}
登录游戏账号后进入「账号安全中心」进行账号绑定、解绑操作。
3、注意事项
事项一:移动端(iOS、Android...)、PC端等全端登录方式必须保持一致
事项二:需新增登录方式时,必须以强更方式升级至 6.5.0 及以上。
事项三:6.5.0 及以上版本,将默认开通解绑操作,以防止 SDK 执行自动绑定时不符合用户预期。
事项四:6.5.0 的 登录接口 中会携带详细的错误信息提供给游戏来展示对应的 UI。
为此开发需要在 XDConfig.json 中 tapsdk
和 facebook
的 permissions
节点增加 email
权限来让我们获得用户在各平台的绑定邮箱。
XDConfig.json
{
"tapsdk": {
xxx:xxx,
"permissions": [
"public_profile",
"email", //必须,防止同一个邮箱的账号裂开
"user_friends" // 需要好友权限的增加这一行,不需要可删除
]
},
"facebook": { // Facebook 配置,可选,没有可以删除配置
"app_id": "xxx",
"client_token": "xxx",
"permissions": [
"public_profile",
"email", //必须,防止同一个邮箱的账号裂开
"user_friends" // 需要好友权限的增加这一行,不需要可删除
]
},
}