跳到主要内容
当前模块客户端 SDK 集成
AI-ready documentation

快捷获取 openid

介绍在没有自建后端的情况下,如何通过 Unity SDK 的 GravityHelper.GetOpenId 方法快捷获取微信、抖音、快手、B 站小游戏的 openid,包含后台凭据配置、调用流程、示例与参数说明。

查看 Markdown

部分客户的小游戏属于单机游戏,没有配套的后端开发人员或者服务器,这种情况下想获取 openid 就较为繁琐,因此引力 SDK 提供了快速获取小游戏 openid 的方法,Unity SDK 对应 GravityHelper.GetOpenId 方法,本文档对此进行说明。

微信、抖音、快手、B 站四个平台的调用方式完全一致,区别仅在于引力后台需要填写的凭据名称:微信、抖音、快手为 AppSecret,B 站为 Secret Key。如果您使用的是非 Unity SDK,请参考小游戏 快捷获取 openid。

1. 前置要求

  1. 在引力后台「设置 → 应用管理 → 配置」中对应的开发者选项卡里,添加小游戏的凭据:微信开发者、抖音开发者、快手开发者填 AppSecret,B站营销填 Secret Key。

  2. 升级引力 SDK 到 5.0.44 及以上版本。

2. 调用流程

  1. 先调用小游戏官方的 login 方法获取 code。

  2. 再调用 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 异步回调
  1. 然后再继续按照 Unity SDK 快速集成启动引力引擎,正常进行其他流程。

方法返回的内容和对应平台官方文档返回的内容保持一致,具体请查看小游戏 快捷获取 openid中各平台列出的官方文档中的返回值。

本页内容