Unity微信小游戏登录授权获取用户信息

这篇具有很好参考价值的文章主要介绍了Unity微信小游戏登录授权获取用户信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

前言:

最近需要在接微信获取用户信息的功能,在小游戏官方API中翻找资料。不得不说官方接口很多、很全,但是真的很乱而且部分遗漏。
对于不明所以的人来说,真的非常不友好。文档一堆堆的罗列下来,有些也不知道要怎么组合使用。
文档下有不少留言也是“骂骂咧咧”想必也和在下一样遇到了不少麻烦,也有朋友为此特地建立群组专门讨论这些问题。
在各方碰壁与尝试下,终于拿到了用户的基本信息,在此记录分享一下:


一、登录

首先需要登录一下,我这需要用到Code,不需要的可以忽视。不过如果你是刚接触,我建议你一步步照着做。
使用 WX.Login() 接口进行登陆:
参考代码如下:

LoginOption info = new LoginOption();
info.complete = (aa) =>{ /*登录完成处理,成功失败都会调*/ };
info.fail = (aa) => { /*登录失败处理*/ };
info.success = (aa) =>
{
    //登录成功处理
    Debug.Log("__OnLogin success登陆成功!查看Code:" + aa.code);
    //登录成功...这完成后,跳到下一步,《二、查看授权》
};
WX.Login(info);

接口详情:https://developers.weixin.qq.com/minigame/dev/api/open-api/login/wx.login.html


二、查看授权

我们需要看下授权情况,之前有没有授权过,因为如果授权过就不用再调用的接口了。
使用 WX.GetSetting()接口进行查询:
参考代码如下:

GetSettingOption info = new GetSettingOption();
info.complete = (aa) => { /*获取完成*/ };
info.fail = (aa) => { /*获取失败*/};
info.success = (aa) =>
{
    if (!aa.authSetting.ContainsKey("scope.userInfo") || !aa.authSetting["scope.userInfo"])
    {
        //《三、调起授权》
    }
    else
    {
        //《四、获取用户信息》
    }
};
WX.GetSetting(info);

接口详情:https://developers.weixin.qq.com/minigame/dev/api/open-api/setting/wx.getSetting.html


三、调起授权(特详细)

查看未有相关授权后,我们需要调起面板让用户选择授权。实话说这一步卡了我很久,也是没有看到相关文章和文档写了这些内容才决定出这个文章。
使用接口 WX.Authorize() 我们还需要创建一个按钮用户点击才开始授权,使用接口:WX.CreateUserInfoButton()
先上代码:

//调用请求获取用户信息
WXUserInfoButton btn = WX.CreateUserInfoButton(0, 0, Screen.width, Screen.height, "zh_CN", true);
btn.OnTap((res) =>
{
    if (res.errCode == 0)
    {
        //用户已允许获取个人信息,返回的data即为用户信息
        Debug.Log(res.userInfo.nickName);
    }
    else
    {
        Debug.Log("用户未允许获取个人信息");
    }
    btn.Hide();
});

需要使用WX.CreateUserInfoButton接口在屏幕上创建一个“透明的” “透明的” “透明的”区域,你需要在下面有个UI引导用户去点击。

我里我表示吐槽,刚开始没看到这个透明区,以为没起作用。
接口详情:https://developers.weixin.qq.com/minigame/dev/api/open-api/user-info/wx.createUserInfoButton.html

以为这就完了吗?没有…
unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

到这一步会出现一个错误,需要你提供授权…?当是很疑惑这不是就是调用授权的吗,为啥还有这一步。
后面在群才问到,原来在微信公众平台也需要做设置…

微信公众平台的设置

在 微信公众平台中:设置 > 服务内容声明 中设置 用户隐私保护指引隐私授权弹窗
unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

吐槽:需要先设置用户隐私保护指引,否则就会像这样一只转圈:
unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

于是我们先设置 用户隐私保护指引
unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

选择下面这个:
unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

然后根据项目情况写一下:
unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

然后下一步再去开启这个就可以了:
unity createuserinfobutton,unity,微信,微信小游戏,小游戏用户信息,小游戏授权用户信息

需要注意的这个选项开启后无法关闭,请详查看文档。

设置好了以后就可顺利获得用户基本信息了。


四、获取用户信息

经过了上面的授权下次就可以直接获取用户信息了,通过接口WX.GetUserInfo()
//直接获取用户信息
GetUserInfoOption userInfo = new GetUserInfoOption()
{
withCredentials = true,
lang = “zh_CN”,
success = (data) =>
{
Debug.Log(data.userInfo.nickName);
}
};
WX.GetUserInfo(userInfo);
接口详情:https://developers.weixin.qq.com/minigame/dev/api/open-api/user-info/wx.getUserInfo.html


结语:

网上的资料也很多,但是我觉得真的太零碎了,而且有些Unity也真的用不了。
官方文档也一直在各种弃用,Demo也起不到多大作用,在些分享给大家。
如果你觉得有用的话,请 点选 和 收藏,谢谢。文章来源地址https://www.toymoban.com/news/detail-786021.html

到了这里,关于Unity微信小游戏登录授权获取用户信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity转微信小游戏数据存储

    unity程序转成微信小游戏以后 File.WriteAllText 和 File.ReadAllText由于路径问题不生效。 这个时候需要采用微信自己的存储路径来把用户信息保存下来。 private void LoadPlayerData() { #if UNITY_EDITOR || UNITY_ANDROID || UNITY_IOS if (File.Exists(filePath)) { playerDataString = File.ReadAllText(filePath); m_PlayerData

    2024年02月10日
    浏览(46)
  • unity微信小游戏——排行榜

    设置时记住排行榜唯一标识 此处建议使用官方案例的UI进行修改 minigame-unity-webgl-transform: Unity WebGL 微信小游戏适配方案 (gitee.com) DemoRanking这个项目就是 1.新建Canvas 此处要选择Overlay 否则排行榜会无法拖动 此处RankingBox默认状态为SetActive(false) bg:排行榜背景 也可以把背景让在

    2024年02月02日
    浏览(56)
  • Unity项目转微信小游戏 微信小程序保姆教程,繁杂问题解决,及微信小游戏平台简单性能测试

    借着某人需求,做了一波简单的技术调研:将Unity项目转换为微信小游戏。 本文主要内容:Unity转换小游戏的步骤,遇到问题的解决方法,以及简单的性能测试对比 微信小游戏的限制 微信小游戏对程序包体大小有严格限制:首包必须小于2M,首包加分包(后加载)不得大于

    2024年02月05日
    浏览(67)
  • Unity微信小游戏使用微信云开发记录

    最近项目上架微信小游戏,首先使用了微信官方sdk转成微信小游戏,官方地址如下: https://github.com/wechat-miniprogram/minigame-unity-webgl-transform 官方给了各种指导,虽然都有但是都不太精哈哈 因为要做排行榜,云存档,而我司没服务器,那只能用微信云开发了。具体开通啥的初始

    2023年04月09日
    浏览(54)
  • Unity微信小游戏资源下载失败问题

    unity导出微信小游戏后,打开报错 plugin.js:77 [PLUGIN ERROR 11:30.26.366] 下载资源包失败: networkType: wifi ; isVisible: true downloadFile:fail createDownloadTask:fail invalid url {}(env: Windows,mg,1.06.2210310; lib: 2.27.2) 这个问题是导出时没有填写游戏资源CDN 原来的版本没问题,升级之后出现的 游戏资源CD

    2024年02月09日
    浏览(86)
  • Unity-微信小游戏上架流程-个人开发者

    写在前面         微信上架流程个人认为比较繁琐,而且严格,时间跨度长。在微信平台上架小游戏,实际上相当于将一个Unity WebGL的工程上架到微信小程序,只不过将微信小程序的类型设置成小游戏,使用微信专门的打包工具打包导出,并且使用微信专门的调试工具进行

    2024年04月17日
    浏览(44)
  • Unity转微信小游戏 HybridCLR + YooAsset 实践

    参考链接:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform?tab=readme-ov-file Unity 2021.3.15f1c1 Unity 2021.2.5f1c302 wxSDK HybridCLR 5.0.0 YooAsset 1.5.7 后台配置白名单 微信小游戏注意事项: 不支持同步加载。 不支持资源加密。 不支持多Package 关闭WebGL本地缓存 参考地址 因为微信小游戏

    2024年04月12日
    浏览(107)
  • Unity项目转微信小游戏踩坑记录

    1.首先 你需要去他的SDK地址,去下载SDK,并浏览一下相关流程内容       这个SDK现在没有一个长期稳定的版本,基本三天一小更,五天一大更。所以你懂的,更新之前好好看看更新的内容在决定。 2.webgl不支持多线程,Socket,同步加载。如果项目用到比较多的这些内容,工作

    2024年02月09日
    浏览(46)
  • Unity 之 转微信小游戏本地数据存储方法分享

    近期在将Unity转换为小游戏的时候发现在读写本地文件的时候,使用 Application.persistentDataPath 缓存路径来保存文件失败,原因是WebGL的平台限制。所以导致了原有读写本地文件的代码需要根据平台进行修改。 一种最简单的方式就是将原来存储到文件中的内容,在WebGL平台使用

    2024年02月05日
    浏览(63)
  • 微信小游戏开发之unity-精灵的创建动画和操作移动

    我们的目标是通过unity开发微信小游戏! 这是第一篇正式实战开发文章,将会很详细介绍每一个步骤和代码。 废话不多说直接操作! 由于目标开发游戏是2D小游戏,我们选择2D核心模板. 我们的目标是开发微信小游戏所以我们需要修改setting,选择运行平台选择转换 WebGL ,刚开

    2024年01月16日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包