业务介绍
[!TIP|label:Tips]
为了访问 RocGmaes Developer Services(以下简称 RDS)的相关服务功能,你的用户需要拥有一个 RDS 账号。
如果用户未使用 RDS 账号,你的应用在调用 RDS 服务 API 时可能会遇到错误。本文档介绍了如何在你的应用中实现 RDS 登录。
RDS 账号服务是基于标准的 OAuth 2.0 协议构建的授权登录系统,为开发者提供了简单、安全、快速的账号登录授权功能,为用户免去输入账号密码的繁琐步骤,让用户只需一键通过 RDS 账号授权,即可使用你的应用。
在取得用户授权之后,开发者可以通过接口调用的方式获得 RDS 用户的相关公开信息,包括用户昵称、头像等,可用于提高应用的用户体验。
前期工作
请确认已经在 开发者中心 > 应用配置 完成了开启操作。可参照入门指南中的准备工作。
功能接入
接入 RDS 登录有两种方式:
- 基于内建账户系统接入 RDS 登录;
- 单纯 RDS 用户认证。
第一种方式是我们推荐的方式,一般适用于以下场景:
- 希望直接使用 SDK 提供的账户系统
- 希望将更多第三方账号(比如 QQ、微信、Apple 等)绑定到玩家账号上
- 希望使用 SDK 的好友、成就等基于内建账户系统的服务和功能
相反,如果你的游戏自己实现了账户系统,也不打算使用好友、成就等 SDK 提供的其他功能,仅仅需要接入「用户登录」功能,那么可以考虑使用第二种方式。
我们首先介绍第一种方式,然后介绍第二种方式。
无论使用哪种方式,首先都需要在 开发者中心 > 游戏服务 > 功能接入 开启「登录」。
1.SDK 获取及初始化
参考 快速开始 创建应用、完成 项目配置 和 初始化。
2.检查登录状态
SDK 会在本地缓存当前用户的登录信息,所以如果一个玩家在游戏内登录之后,下次启动用户通过调用如下方法可以得到之前登录的账户实例。 缓存不会自动清除。此时玩家无需再次登录,可以直接进入游戏,实现静默登录。
如果玩家在游戏内进行了登出或者玩家手动清除了游戏的存储数据,则本地缓存的登录信息也会被删除,下次进入游戏时调用如下方法会返回一个 null 对象,玩家需要登录之后再进入游戏。
3.静默登录
静默登录可以帮助用户跳过登录的流程,通常用于用户下一次启动游戏时,仍需之前登录状态的场景。
当用户启动游戏时,你可以尝试检查用户是否已经在当前设备上登录、登录信息是否仍有效。
- 使用内建账户方式,参考检查登录状态。
- 使用单纯 RDS 登录,参考检查登录状态和用户信息。 这样可以尝试在不显示登录按钮或界面的情况下帮用户完成登录过程。