登录认证
FRVR.auth 把当前玩家在 FRVR 后端做认证 —— 走 FRVR 账号、平台 provider(Facebook、Google Play、Apple……)或匿名登录。
登录是跨设备能力的把关人:云端存储、锦标赛、社交、排行榜、商店 都要走它。
(不需要再调一次 FRVR.init() —— 你已经在启动流程里调过一次了。)
SDK 会按下面顺序自动登录:
- 存储里缓存的 token(还没过期),或
- 渠道原生凭证(比如 Facebook Instant 会话),或
- 匿名登录(如果开启)。
读取当前会话
Section titled “读取当前会话”token 会在大约 60% TTL 时后台自动续 —— 登录状态下 getAccessToken() 你可以认为永远返回新鲜的。
仅当渠道不会自动给用户登录时(通常是 Web)才需要:
或用渠道给你的 provider 凭证:
'frvr' 等平台字符串来自 SDK 包导出的 Platform 枚举(Platform.FRVR、Platform.FACEBOOK_INSTANT 等);它们不在 window.FRVR 上,所以这里直接用字符串字面量。
ifConflictTryLogin = true 时,「账号已存在」错误会自动降级为登录尝试。
匿名会话仍会保留一个稳定的 ID。之后可以用 registerOnFRVR 把它升级成正式账号。
某些渠道不支持登出(玩家始终通过宿主应用登录) —— 先检查再调。
监听状态变化
Section titled “监听状态变化”登录、登出、token 续期时都会触发。
API 摘要
Section titled “API 摘要”| 方法 | 作用 |
|---|---|
init() | 自动登录(FRVR.init 会调用)。 |
isLoggedIn() | 是否有有效会话? |
isLoggingIn() | 是否正在登录? |
getAccessToken() | 调后端用的 JWT。 |
getFRVRID() | 当前用户的 FRVR id。 |
isVerified() | 邮箱是否已验证(仅 FRVR 账号)。 |
getCurrentPlatform() | 哪个 provider 完成了登录('FRVR'、'facebook'……)。 |
getAvailableLoginPlatforms() | 你还能提供的其他 provider。 |
loginToFRVR(req) | 显式登录。 |
loginAsAnonymous() | 匿名会话。 |
registerOnFRVR(creds, ifConflictTryLogin?) | 创建账号并登录。 |
logout() | 清除会话。 |
isLogoutSupported() | 当前渠道是否允许登出? |
addStatusChangeListener(fn) | 订阅会话变化。 |