iOS — Google 登录(ROLoginGoogle)
验收状态
源码候选已建立,但没有正式业务模块发布 Tag / 远程 Reposilite 版本,也没有完成真实游戏项目签名与第三方服务端联调。 单模块 CI 或五模块共存编译不能等同上线验收。生产接入必须以实测、正式版本和固定游戏协议为准。
模块目录:Modules/ROLoginGoogle,固定官方 GoogleSignIn = 9.2.0。GoogleSignIn 10.0.0 要求 iOS 15,本项目暂保留 iOS 12 的底座兼容边界。
安装与调用
ruby
pod 'ROLoginGoogle', :path => '<本机roios-sdk>/Modules/ROLoginGoogle'objc
[[ROLoginGoogle shared] configureClientID:iosOAuthClientID
serverClientID:webBackendClientID];
[[ROLoginGoogle shared] signInFromController:presenter
completion:^(NSString *idToken, NSString *serverAuthCode,
NSError *error, BOOL cancelled) {
// 游戏宿主把凭证发给服务端验签/交换,按原 SDKDelegate 回调返回游戏。
}];AppDelegate / SceneDelegate 必须把真实授权回跳 URL 转发到 [[ROLoginGoogle shared] handleOpenURL:url],并在 Info.plist 注册由 iOS OAuth Client ID 推导的 URL Scheme。需要 Google Cloud Console 中的包名、SHA/Bundle ID、OAuth Client IDs 与后台验证服务。登出可调用 signOut,但仍需后端销毁游戏账号会话。
不可把显示名、邮箱或用户 ID 当作可信身份;服务端应验证 Google 签发的 ID Token 与受众、签发者、过期时间。实际账号取消、重复登录及 Scene 恢复需要真机测试。