WebApp快捷打包
Google 一键登录
转到模块插件

敬告:此 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 同意屏幕 并添加测试用户;

googlePlayServicesAvailable 设备是否安装并启用了 Google Play 服务

//检测设备是否安装并启用了 Google Play 服务
//Android 版 Google 一键登录依赖于 Google Play 服务
//iOS 版始终返回可用
jsBridge.gid.googlePlayServicesAvailable(function(success, res) {
    if (success) {
        alert("可用")
    } else {
        alert("不可用" + JSON.stringify(res));
    }
});

signIn 登录

是否启用 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: ""
}
*/

signIn2 旧版登录(仅支持 Android)

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"
}
*/

signOut 退出

//停用自动登录功能,直到用户重新登录为止
jsBridge.gid.signOut(function(){
    alert("已退出");
});