当前位置:   article > 正文

Unity微信小游戏——登录 获取用户头像名称_unity 微信小游戏同步用户头像

unity 微信小游戏同步用户头像

1.微信公众平台开启权限

此处添加需要开启的权限 然后设置隐私授权弹窗

2.下载微信开发者工具与unity转小程序的插件

微信开发者工具下载地址与更新日志 | 微信开放文档 (qq.com)

minigame-unity-webgl-transform: Unity WebGL 微信小游戏适配方案 (gitee.com)

此处包含微信官方示例 可以下载看一下

3.登录 获取玩家信息

具体可看官方API文档

游戏引擎 / Unity WebGL微信小游戏适配 (qq.com)

  1. /// <summary>
  2. /// 初始化SDK
  3. /// </summary>
  4. private void InitSDK()
  5. {
  6. WX.InitSDK((code) =>
  7. {
  8. Debug.Log("微信SDK初始化成功");
  9. LoginOption loginOption = new LoginOption()
  10. {
  11. success = LoginSuccess,
  12. fail = (result) => { Debug.Log($"登录失败 code={result.errno} msg={result.errMsg}"); }
  13. };
  14. Debug.Log("开始登录");
  15. WX.Login(loginOption);
  16. });
  17. }
  18. /// <summary>
  19. /// 登陆成功回调
  20. /// </summary>
  21. /// <param name="result"></param>
  22. private void LoginSuccess(LoginSuccessCallbackResult result)
  23. {
  24. Debug.Log($"登录成功 code={result.code} msg={result.errMsg}");
  25. code = result.code;
  26. GetSettingOption getSettingOption = new GetSettingOption()
  27. {
  28. success = GetSettingSuccess,
  29. fail = (result) => { Debug.Log($"获取设置信息失败 {result.errMsg}"); }
  30. };
  31. WX.GetSetting(getSettingOption);
  32. }
  33. /// <summary>
  34. /// 获取玩家配置成功
  35. /// </summary>
  36. /// <param name="result"></param>
  37. private void GetSettingSuccess(GetSettingSuccessCallbackResult result)
  38. {
  39. if (!result.authSetting.ContainsKey("scope.userInfo") || !result.authSetting["scope.userInfo"])
  40. {
  41. Debug.Log("生成按钮开始请求获取用户信息");
  42. //此处设置虚拟按钮大小
  43. WXUserInfoButton wxUserInfoButton = WX.CreateUserInfoButton(0, 0, Screen.width, Screen.height, "zh_CN", false);
  44. wxUserInfoButton.Show();
  45. wxUserInfoButton.OnTap((data) =>
  46. {
  47. if (data.errCode == 0)
  48. {
  49. //获取成功
  50. Debug.Log($"用户同意授权 用户名:{data.userInfo.nickName} 用户头像{data.userInfo.avatarUrl}");
  51. Xcxlogin();
  52. wxUserInfoButton.Hide();
  53. }
  54. else
  55. {
  56. Debug.Log("用户拒绝授权");
  57. wxUserInfoButton.Hide();
  58. }
  59. });
  60. }
  61. else
  62. {
  63. Debug.Log("已获取过权限");
  64. GetUserInfoOption getUserInfoOption = new GetUserInfoOption()
  65. {
  66. lang = "zh_CN",
  67. withCredentials = false,
  68. success = GetUserInfoSuccess,
  69. fail = (result) => { Debug.Log($"获取玩家信息失败 {result.errMsg}"); }
  70. };
  71. WX.GetUserInfo(getUserInfoOption);
  72. }
  73. }
  74. /// <summary>
  75. /// 获取玩家信息成功回调
  76. /// </summary>
  77. /// <param name="data"></param>
  78. private void GetUserInfoSuccess(GetUserInfoSuccessCallbackResult data)
  79. {
  80. Debug.Log($"用户名:{data.userInfo.nickName} 用户头像{data.userInfo.avatarUrl}");
  81. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/99849
推荐阅读
相关标签
  

闽ICP备14008679号