敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20240925.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 安卓 Android 版 取得 Android 客户端ID;
♦ 苹果 iOS 版 取得 iOS 客户端ID;
♦ Web 应用 取得服务器客户端ID;
♦ OAuth 同意屏幕 并添加测试用户;
//检测设备是否安装并启用了 Google Play 服务 //Android 版 Google 一键登录依赖于 Google Play 服务 //iOS 版始终返回可用 jsBridge.gid.googlePlayServicesAvailable(function(success, res) { if (success) { alert("可用") } else { alert("不可用" + JSON.stringify(res)); } });
是否启用 Google 登录
googleId.enabled:
Android/iOS 客户端 ID
googleId.clientId:
Web 客户端 ID
googleId.serverClientId:
是否只显示以前登录时使用的帐户
googleId.filterByAuthorizedAccounts:
防重放一次性码
googleId.nonce:
是否启用密码账户登录
password.enabled:
当检索到一个凭据时是否自动登录
autoSelect:
//Google 一键登录,登录弹窗出现在屏幕底部; //请参考Google文档 获取Android客户端ID、获取iOS客户端ID jsBridge.gid.signIn({ //Google账户登录 //iOS 必填 googleId: { //是否启用 enabled: {{signIn.googleId.enabled}}, //Android/iOS 客户端ID,iOS 端必填 clientId: "{{signIn.googleId.clientId}}", //Web 客户端ID,注意不是 Android/iOS 客户端ID //Android 端必填,iOS 端如需服务器验证则必填 serverClientId: "{{signIn.googleId.serverClientId}}", //是否只显示以前登录时使用的帐户,仅用于 Android 端 filterByAuthorizedAccounts: {{signIn.googleId.filterByAuthorizedAccounts}}, //可选,防重放一次性码,仅用于 Android 端 nonce: "{{signIn.googleId.nonce}}" }, //密码账户登录,仅用于 Android 端 password: { //是否启用 enabled: {{signIn.password.enabled}} }, //当检索到一个凭据时是否自动登录,仅用于 Android 端 autoSelect: {{signIn.autoSelect}} }, function(success, res) { if (success) { alert('成功,请在页面本页面底部查看 res 返回数据。'); //在本页面底部显示返回数据 showResult(res); } else { //失败 switch (res.errorCode) { case 100: { alert("设备的 Google Play 服务不可用"); break; } case 101: { alert(res.errorMessage); break; } case 102: { alert("取消了登录"); break; } case 103: { alert("网络错误"); break; } default: { alert(JSON.stringify(res)); break; } } } }); /* 成功时 res 返回 { //用户以 Google 账户登录时返回的 ID 令牌,在服务器端使用ID令牌 idToken: "", displayName: "", familyName: "", givenName: "", phoneNumber: "", profilePicture: "", username: "用户ID", password: "" } */
Web 客户端 ID
serverClientId:
//旧版 Google 一键登录,登录弹窗出现在屏幕中间; //如果未退出登录,本接口会直接返回上次登录的账号,不会出现登录弹窗; jsBridge.gid.signIn2({ //Web 客户端ID,注意不是Android客户端ID serverClientId: "{{signIn2.serverClientId}}" }, function(success, res) { if (success) { alert('成功,请在页面本页面底部查看 res 返回数据。'); //在本页面底部显示返回数据 showResult(res); } else { //失败 alert(res.errorMessage); } }); /* 成功时 res 返回 { //用户以 Google 账户登录时返回的 ID 令牌,在服务器端使用ID令牌 idToken: "", displayName: "", familyName: "", givenName: "", profilePicture: "", username: "用户ID" } */
//停用自动登录功能,直到用户重新登录为止 jsBridge.gid.signOut(function(){ alert("已退出"); });