快捷获取 openid
介绍在没有自建后端的情况下,如何通过引力 SDK 快捷获取微信、抖音、快手、B 站小游戏的 openid,包含后台凭据配置、调用流程与示例。
部分客户的小游戏属于单机游戏,没有配套的后端开发人员或者服务器,这种情况下想获取 openid 就较为繁琐,因此引力 SDK 提供了快速获取小游戏 openid 的方法,非 Unity SDK 各平台的具体调用方式见下文,本文档对此进行说明。
微信、抖音、快手、B 站四个平台的差异仅在于:引力后台需要填写的凭据、小游戏官方的登录方法、引力 SDK 提供的获取方法名。下文为各平台非 Unity SDK 的调用流程,Unity SDK 请参考 Unity SDK 快捷获取 openid。
1. 微信小游戏
1.1 前置要求
- 在引力后台「设置 → 应用管理 → 配置 → 微信开发者」中,添加小游戏的
AppSecret。

请注意:在引力添加好 AppSecret 后,引力可能会使用该 Secret 刷新 access_token,请务必先了解微信 Access Token文档的全部内容。
- 升级引力 SDK 到 4.8.18 及以上版本。
1.2 调用流程
每次冷启动过程中,GravityEngine 的实例化方法 new GravityEngine() 与初始化方法 setupAndStart() 均只能被调用一次,clientId 参数必须在这两个方法的其中一个传入。
-
先
new GravityEngine(),此时传入的 config 可以不填clientId。 -
然后调用
ge.getWechatOpenId方法获取openid。 -
然后在获取成功的回调里调用
setupAndStart,传入上面获取的openid:setupAndStart({ clientId: "xxx" }) -
然后继续调用
initialize方法。
调用示例:
wx.login({
success: (res) => {
ge.getWechatOpenId(res.code).then((res) => {
// 这里返回的 res 和官方文档返回的 resp 保持一致,具体请查看下方列出的官方文档中的返回值
console.log(res);
}).catch(err => {
console.log(err);
})
}
})1.3 参考文档
2. 抖音小游戏
2.1 前置要求
- 在引力后台「设置 → 应用管理 → 配置 → 抖音开发者」中,添加小游戏的
AppSecret。

请注意:在引力添加好 AppSecret 后,引力可能会使用该 Secret 刷新 access_token,请务必先了解抖音 Access Token文档的全部内容。
- 升级引力 SDK 到 4.8.18 及以上版本。
2.2 调用流程
每次冷启动过程中,GravityEngine 的实例化方法 new GravityEngine() 与初始化方法 setupAndStart() 均只能被调用一次,clientId 参数必须在这两个方法的其中一个传入。
-
先
new GravityEngine(),此时传入的 config 可以不填clientId。 -
然后调用
ge.getDouyinOpenId方法获取openid。 -
然后在获取成功的回调里调用
setupAndStart,传入上面获取的openid:setupAndStart({ clientId: "xxx" }) -
然后继续调用
initialize方法。
调用示例:
tt.login({
success: (res) => {
ge.getDouyinOpenId(res.code).then((res) => {
// 这里返回的 res 和官方文档返回的 resp 保持一致,具体请查看下方列出的官方文档中的返回值
console.log(res);
}).catch(err => {
console.log(err);
})
}
})2.3 参考文档
3. 快手小游戏
3.1 前置要求
- 在引力后台「设置 → 应用管理 → 配置 → 快手开发者」中,添加小游戏的
AppSecret。

- 升级引力 SDK 到 4.8.18 及以上版本。
3.2 调用流程
每次冷启动过程中,GravityEngine 的实例化方法 new GravityEngine() 与初始化方法 setupAndStart() 均只能被调用一次,clientId 参数必须在这两个方法的其中一个传入。
-
先
new GravityEngine(),此时传入的 config 可以不填clientId。 -
然后调用
ge.getKuaishouOpenId方法获取openid。 -
然后在获取成功的回调里调用
setupAndStart,传入上面获取的openid:setupAndStart({ clientId: "xxx" }) -
然后继续调用
initialize方法。
调用示例:
ks.login({
success: (res) => {
ge.getKuaishouOpenId(res.code).then((res) => {
// 这里返回的 res 和官方文档返回的 resp 保持一致,具体请查看下方列出的官方文档中的返回值
console.log(res);
}).catch(err => {
console.log(err);
})
}
})3.3 参考文档
4. B 站小游戏
4.1 前置要求
- 在引力后台「设置 → 应用管理 → 配置 → B站营销」中,添加小游戏的
Secret Key。

- 升级引力 SDK 到 4.8.18 及以上版本。
4.2 调用流程
每次冷启动过程中,GravityEngine 的实例化方法 new GravityEngine() 与初始化方法 setupAndStart() 均只能被调用一次,clientId 参数必须在这两个方法的其中一个传入。
-
先
new GravityEngine(),此时传入的 config 可以不填clientId。 -
然后调用
ge.getBilibiliOpenId方法获取openid。 -
然后在获取成功的回调里调用
setupAndStart,传入上面获取的openid:setupAndStart({ clientId: "xxx" }) -
然后继续调用
initialize方法。
调用示例:
bl.login({
success: (res) => {
ge.getBilibiliOpenId(res.code).then((res) => {
// 这里返回的 res 和官方文档返回的 resp 保持一致,具体请查看下方列出的官方文档中的返回值
console.log(res);
}).catch(err => {
console.log(err);
})
}
})4.3 参考文档
5. Unity SDK
Unity SDK 的调用方式四个平台完全一致,且需要自行调用 GravityHelper.GetOpenId 方法,请参考 Unity SDK 快捷获取 openid。