AI-ready documentation
快捷获取 openid
介绍在没有自建后端的情况下,如何通过 Unity SDK 的 GravityHelper.GetOpenId 方法快捷获取微信、抖音、快手、B 站小游戏的 openid,包含后台凭据配置、调用流程、示例与参数说明。
部分客户的小游戏属于单机游戏,没有配套的后端开发人员或者服务器,这种情况下想获取 openid 就较为繁琐,因此引力 SDK 提供了快速获取小游戏 openid 的方法,Unity SDK 对应 GravityHelper.GetOpenId 方法,本文档对此进行说明。
微信、抖音、快手、B 站四个平台的调用方式完全一致,区别仅在于引力后台需要填写的凭据名称:微信、抖音、快手为 AppSecret,B 站为 Secret Key。如果您使用的是非 Unity SDK,请参考小游戏 快捷获取 openid。
1. 前置要求
-
在引力后台「设置 → 应用管理 → 配置」中对应的开发者选项卡里,添加小游戏的凭据:微信开发者、抖音开发者、快手开发者填
AppSecret,B站营销填Secret Key。 -
升级引力 SDK 到 5.0.44 及以上版本。
2. 调用流程
-
先调用小游戏官方的
login方法获取code。 -
再调用
GravityHelper.GetOpenId方法发起网络请求获取openid。
// 先配置好回调
public class GetOpenIdCallbackImpl : IGetOpenIdCallback
{
public void onFailed(string errorMsg)
{
Debug.Log("getOpenId failed with message " + errorMsg);
}
public void onSuccess(Dictionary<string, object> responseJson)
{
Debug.Log("getOpenId success");
Debug.Log("getOpenId call end");
if (responseJson != null)
{
Dictionary<string, object> dataDict = (Dictionary<string, object>)responseJson;
foreach (var kvp in dataDict)
{
Debug.Log("key " + kvp.Key + " : " + kvp.Value?.ToString());
}
}
}
}
// 在小游戏官方 login 方法的回调内部发起调用
GravityHelper.GetOpenId(code, your_gravity_app_access_token, new GetOpenIdCallbackImpl());关键参数说明:
| 参数 | 说明 |
|---|---|
code | 通过小游戏官方 login 方法获取的 code 值 |
your_gravity_app_access_token | 当前应用所对应的引力 AccessToken,可以在引力后台「设置 → 应用管理」页面获取(注意:不是小游戏官方的 Access Token,请不要混淆) |
GetOpenIdCallbackImpl | 获取完 openid 之后的 Callback 异步回调 |
- 然后再继续按照 Unity SDK 快速集成启动引力引擎,正常进行其他流程。
方法返回的内容和对应平台官方文档返回的内容保持一致,具体请查看小游戏 快捷获取 openid中各平台列出的官方文档中的返回值。