React Native集成HMS Account时邮箱授权选项默认未选中如何设为必选?
可以将obtain your email address选项设置为默认选中的必选项,只需要调整登录请求的参数配置即可,具体修改方式如下:
核心修改逻辑
@hmscore/react-native-hms-account提供了强制授权的配置参数,开启后你在authScopeList中声明的所有权限都会被设为必选,授权页对应选项会默认勾选,且用户无法取消,必须同意才能完成登录。
修改后的代码示例
signInWithIdToken = () => { let signInData = { accountAuthParams: HMSAuthParamConstants.DEFAULT_AUTH_REQUEST_PARAM, authRequestOption: [ HMSAuthRequestOptionConstants.ID_TOKEN, HMSAuthRequestOptionConstants.ACCESS_TOKEN, // 可选补充:添加邮箱请求选项,提升权限请求优先级 HMSAuthRequestOptionConstants.EMAIL ], authScopeList: [HMSAuthScopeListConstants.EMAIL], // 新增强制scope授权参数,所有传入的scope均为必选,默认勾选不可取消 forceScopes: true }; HMSAccountAuthService.signIn(signInData) .then((response) => { this.logger('Sign In With IdToken -> ', response); console.log(response); }) .catch((err) => { this.errorLogger('Sign In With IdToken -> ', err); }); };
低版本兼容方案
如果你使用的SDK版本低于6.1.0,不存在forceScopes参数,可以将accountAuthParams的值替换为HMSAuthParamConstants.DEFAULT_AUTH_REQUEST_PARAM_GAME,该默认参数会默认将所有传入的scope设为必选,也能实现相同效果。
内容的提问来源于stack exchange,提问作者John Stuart
相关产品推荐
相关产品推荐

