概览
登录方式
游戏确认需要接入的登录方式,原则上:
港澳台及其他区域
仅允许接入: TapTap、Apple、Google、游客、Steam、手机号、邮箱。中国大陆
仅允许接入: TapTap、手机号、Steam。
如有特殊需求请提前联系 XDSDK 的产品同事。
Jira 工单说明:
游戏项目组在 Slack 的 #taptap-tds 频道发起,提 Jira 工单开通上述对应平台登录服务时,请务必提供如下列表第三列所示对应平台相关参数信息。如果不清楚如何获取平台参数,可以详细查看如下列表第二列中接入指引
。此外,Jira 工单麻烦请开在 TapTap TDS
的项目下,组件选择 TDS-XDSDK
。
已支持渠道 | 接入指引 | Jira 工单所需信息 | 平台参数负责人 |
---|---|---|---|
TapTap 登录 | 接入指引 | Tap Client ID 开通无客户端时的手机号一键登录需要提供 Android 包名、Android 签名(和 Tap 登录的 签名 MD5 一样)、iOS 包名 | PMO 申请 TapDC 应用获得 |
Apple 登录 | 接入指引 | Tap Client ID、iOS Bundle ID、service_id | PMO 申请 |
Google 登录 | 接入指引 | Tap Client ID、Web 端 json 文件、iOS 端 plist 文件 | PMO 申请 |
Steam 登录 | 接入指引 | Tap Client ID、Steam 平台应用的 appID、标注游戏发行区域服:中国大陆、港澳台、海外服等 | 向发行部 秦岭 申请创建 Steam 应用并获取相关参数 |
游客登录 | 接入指引 | Tap Client ID | PMO 申请 |
手机号登录 | 接入指引 | Tap Client ID | PMO 申请 |
实现方式
1. 游戏自行绘制登录按钮
适用场景:接入三种及以下的登录方式(TapTap、游客、xxx)
方式说明:由游戏自行在游戏主界面绘制登录按钮,未登录用户点击按钮触发登录流程,登录完成后引导用户进入下一个流程。 附:TapTap 登录介绍、TapTap 登录按钮规则。
2. 使用 SDK 登录界面(不推荐)
适用场景: 接入三种以上的登录方式
方式说明:
(1)登录方式:显示的登录方式及排序规则需要运营确认完毕后,交给平台统一进行配置。
(2)底部 Logo:主要用于品牌向曝光,需要游戏自行配置 logo 素材。非特殊要求,仅需配置一个心动 logo。
3. 自动登录
SDK 支持自动登录,游戏在接入登录时,如果是游戏自行绘制登录按钮,我们建议先请求自动登录(LoginType
为 Default
)接口,在收到失败回调后再展示登录界面,然后根据玩家选择的方式调用具体的登录接口即可。
账号安全中心
为用户提供「账号信息」与「绑定账号」功能,若需要平台协助查询相关功能时,请引导用户至此获取 XD ID。
账号信息
- 显示当前已登录用户的登录方式。
- 显示当前用户 XD ID 并支持用户复制到粘贴板。
绑定信息
- 支持绑定、解绑第三方账号(默认不可解绑)。
- 支持游客账号删除(默认不可删除)。
「登出」页面开启入口示例
游戏可根据自身情况,在对应页面开启「账号安全中心」入口。
香肠派对
RO
「设置」页面开启入口示例
香肠派对
崩坏3
原神
绑定账号接口
使用场景
由于用户 token 过期导致用户无法使用第三方服务时,需要游戏调用 绑定第三方账号接口 要求用户通过重新授权刷新 token。例如:游戏拉取该用户的 Facebook 好友列表时发现用户 token 过期,导致用户无法看到账号所关联的 Facebook 好友。
由于 绑定第三方账号接口 可能会导致心动账号与第三方账号关联关系发生变更。请在调用此接口之前明确告知用户此操作的目的以及将会产生的后果,以减少用户疑虑。
例如「获取好友失败,请尝试重新绑定 Facebook 账号后获取好友列表」,用户点击重新绑定按钮后,游戏调用绑定第三方账号接口引导用户进行接下来的重新授权流程。
政策说明
以下为简要概括,具体政策细节请联系公共关系部门。
App Store 政策说明
- 有其他第三方登录时,Apple 登录必须存在且交互上需要与其他第三方保持一致(TapTap 属于第一方登录)。
- 当游戏中有内购项目时,必须增加游客登录。
Google Play 政策说明
针对 SDK 的游客登录在旧版(6.0.2及更早版本)中会将游客唯一标识存储在外部存储卡设备中(需要存储权限:android.permission.READ_EXTERNAL_STORAGE
和 android.permission.WRITE_EXTERNAL_STORAGE
),以防止游客账号在卸载重装之后账号丢失,但在 Google Play 新上架改功能会有丢失游客账号的风险,在 targetSdkVersion = 29
中可在 AndroidManifest.xml 的 <application>
节点中添加以下配置来关闭分区存储来暂时解决这个问题。
<application
...
android:requestLegacyExternalStorage="true">
...
</application>
但 Google Play 从 2021 年 11 月开始,新版应用(包含新上架或更新)必须从 API 级别 30 或更高版本为目标运行环境(targetSdkVersion >= 30),SDK 从 6.0.2 版本开始,使用新的设备唯一标识逻辑降低了游客账号在卸载重装之后账号丢失的风险(新版无需存储权限),因此从 6.0.2 及之前的版本升级到新版 SDK 时,考虑到游客账号的丢失需要游戏做配合将游戏的账号进行清洗,请联系平台做详细了解。
当前 XDSDK 对游客账号的唯一标识会涉及到 Android ID、Google Advertising ID、设备信息拼装而成的 ID( Custom Device ID ),按照 Android ID
> Google Advertising ID
> Custom Device ID
> UUID.randomUUID()
的优先级来取舍,当前一个值为空的情况下取下一级的值,其中 UUID.randomUUID()
是作为保底的随机不重复字符串(卸载应用之后在高版本的 Android 设备上会丢失)。
特别注意的是:随着 Android 版本的更新,游客账号唯一标识的丢失风险会增加,所以游客账号属于风险账号,对于该部分玩家的卸载重装可能会丢失游客账号信息。另外 Google Advertising ID 在新上架 Google Play 时,Google 会需要对使用了 Google Advertising ID ( 应用最终包中 AndroidManifest.xml 文件中有 <uses-permission android:name=“com.google.android.gms.permission.AD_ID” />
的权限声明)要求游戏对这个权限提供使用广告 ID 的解释说明,目前 XDSDK 对 Google Advertising ID 的用途仅用来做「账号管理」。
风控
为了防止有玩家恶意刷登录接口,我们对授权登录接口增加了登录频率限制。