UNITY3D对接QQGame(PC)开发教程(2022)

效果在这里插入图片描述
目标:能在UNITY3D里通过qqgame充值

因为目前还没有这类文章,所以填补这下块空白

文章包含
QQGame登录器的制作
QQGAME和UNITY3D的交互
QQGame平台用户信息的读取
支付规则,后台搭建。
和常见问题。

对接参考腾讯开发者有文档
https://docs.qq.com/doc/DYkRQZHBrckhRbXhk
但是它没有细分哪些才是Unity3d开发者需要的

第一步:如何在u3d里获取用户的信息,比如蓝钻等级

腾讯有http查询接口,需要传入用户 openid,和openkey,
这两个参数怎么得到呢?
通过QQ游戏大厅运行后,会把参数通过WebSocket 传给unity3d
具体可见PC_demo
https://open.qqgame.qq.com/wiki/24/35/53/55/55.html

我们需要通过大厅启动UNITY程序
制作启动器
首先启动的demohttps://open.qqgame.qq.com/wiki/24/35/53/234/234.html
在这里插入图片描述
通过win10 的任务管理器找到进程所在的目录
我们需要skin,config.init,launcher在这里插入图片描述
拷贝出来放到QQlauncher目录
在这里插入图片描述
打开config.ini
*配置我们自己的GameId,这个GameID是由平台的审核人员分配的,需要人工询问

用官方提供的压缩工具打包U3NITY的游戏目录
得到压缩包,自己上传到外网服务器,得到U3D游戏包下载地址

*[Launcher]
Url=http://下载地址.7z
Md5=7B94A0E894B855D9340174974D29D974(压缩包的MD5)
.在这里插入图片描述

打包启动器,得到qgi启动文件

用官方工具QgiMaker.exe,新版本目录选择刚才编辑的QQlauncher目录
用 QgiMaker
得到QQ专用的启动器文件,然后人工发给提审人员
在这里插入图片描述
等到他们提审后,就可以通过QQGAME启动自己的游戏了

测试阶段如何启动游戏?
打开QQGAME的同时,打开浏览器 输入 qqgameprotocol://enterapp appid=我的GAMEID

在这里插入图片描述
入口处终于看见了自己的游戏
注意需要自行在腾讯开放平台添加自己的QQ白名单,否则是看不到测试阶段的游戏

游戏启动后,我们就可以得到了自己的openid和openkey

为什么QQDemo没有给我们提供查询用户信息的接口呢?
因为查询需要用到appkey(重要,公开会有安全隐患),所以只能搭建一个PHP服务器作为跳板查询

U3D端
在这里插入图片描述

至于PHP后台怎么查询的,签名怎么校验的(头疼的部分),腾讯开发文档写了很多详细说明,并且也给出php的demo,避免开发者浪费太多时间去做接口调试
php_demo
https://open.qqgame.qq.com/wiki/24/35/53/54/54.html

如何让玩家购买付费道具

下图是站在U3D开发者视觉整理的图
在这里插入图片描述

在后端搭建完毕后,U3D客户端只需要发出购买请求,输入具体参数
客户端向PHP服务器请求,需要买什么
PHP收到客户端消息后向腾讯请求,得到回复后再转到给客户端
拿到物品token
在这里插入图片描述
客户端收到物品token后向QQ大厅发出消息即可
在这里插入图片描述
结果
在这里插入图片描述

以下是php服务器的部署过程

因为发货回调需要的通信上的契合(比如https,key和ctr信息等等)
所以要给服务器配置证书

下载证书

在这里插入图片描述

首先配置好发货地址
因为只支持HTTPS,所以需要下载腾讯给的证书

给nginx配置腾讯给的证书,开启https

在这里插入图片描述

它的作用是用户付费购买后,会请求这个URL
官方的web demo有案例,delivery_web.php
游戏后台回调发货逻辑,参考它可以避免很多签名验证的麻烦

收到发货成功后,修改玩家的数据库即可

腾讯不支持透传,如何做PHP发货处理过程

游戏服发货参数是:playerid,payId,serverid…
腾讯发货参数是:openid,payitem…
可以看得出,腾讯的接口并不能满足我们需要的参数

一般情况下
其他平台会让开发者透传参数,提供额外的发货参数
但是腾讯不支持
所以只能做接口兼容

请求购买前
记录订单的token,openid,playerid,payId,写入数据库

腾讯发货后
根据token,oenid查找数据库里对应的playerid,payId,serverid…
调用真实的发货接口即可

常见问题:

在请求用户信息时,偶尔会出现 504 GateWay,导致程序无法识别QQ用户信息
在这里插入图片描述
在这里插入图片描述
因为用了QQ的例子,这里的sdk包没有更新,所以根据审核技术人员的提供的消息进行修改
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/62053.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Unity 2D与3D手机游戏开发实战》上架了。

新书上架了。 这本书主要是Unity开发的入门,附带了一个简单的2D例子,一个3D RPG的简单例子和一个尽可能用插件实现的射击游戏的例子。 书很薄,不过因为是彩页印刷,价钱不是那么实惠。不过说实话,因为这类书里面有很多…

Unity游戏开发 3D RPG(1-4)

如何将普通的3D项目升级到URP 在Package Manner 里的Unity Registry 里搜索 Universal RP ( 通用渲染管线Universal Render Pileline). 随后在Assets 新建Rendering ——URP Assets (with Universal Renderer) Edit -project setting -graphics,在Render pileline setting里…

Unity游戏开发:对话系统的实现

在解谜类游戏中,与npc的对话是一个基础且常用的功能。通常来说,在与npc的对话中玩家可以获取一些有价值的信息并对之后的游戏有一定的导向作用。此外,在玩家获取对应物品前后,与npc的对话内容也会发生相应改变。因此,我…

王小川大模型25天再升级!13B版本开源免费可商用,3090即可部署

衡宇 金磊 发自 凹非寺量子位 | 公众号 QbitAI 就在刚刚,王小川的开源大模型又有了新动作—— 百川智能,正式发布130亿参数通用大语言模型(Baichuan-13B-Base)。 并且官方对此的评价是: 性能最强的中英文百亿参数量开源…

苹果手机免越狱群控电脑端控制手机

据小编了解 ,手机群控这个词一直受网上争议,那么今天小编也在这讨论一下,其实群控系统分很多,市面上有主板机群控,所谓的主板机群控系统是指把手机的主板全部集中到一个机箱控制,但这个就会留下很多弊端&am…

人工智能是否会取代人类的工作岗位?

跨国投资银行高盛预测,人工智能将取代3亿个全职工作岗位。依据是人工智能可以创造出与人类创建的内容无法区分的高水准内容。同一时期,IBM首席执行官阿文德克里希纳以人工智能聊天机器人可以取代7,800名员工为由停止了招聘。IBM并不是唯一一家“毫不犹豫…

第一位计算机科学博士诞生 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 2 月 9 日,在中国,今天是道家学派创始人老子的诞辰和清代著名女词人顾太清的生日;在日本,写出《我是猫》的知名作…

用 100 行代码揭开 LLM 集成工具 LangChain 的神秘之处!

整理 | 王子彧 责编 | 梦依丹 出品 | CSDN(ID:CSDNnews) LangChain 是一个强大的程序框架,它允许用户围绕大型语言模型快速构建应用程序和管道。它直接与 OpenAI 的 GPT-3 和 GPT-3.5 模型以及 Hugging Face 的开源替代品&…

The missing quarter of a million 消失的25万 | 经济学人20230311版社论高质量双语精翻

文 / 柳下婴(微信公众号:王不留) 本期我们选择的是3月11日《经济学人》周报封面文章,即社论区(Leaders)的首篇文章:《25万英国人消失之谜》(“The missing quarter of a million”&a…

哈佛计算机系王牌项目,要请AI来当导师了

克雷西 发自 凹非寺量子位 | 公众号 QbitAI 近日,哈佛宣布了一个重磅决定:AI导师将进入课程。 负责的还是计算机系的旗舰项目——计算机科学导论,也就是著名的CS50。 借助机器人导师,哈佛的CS50项目将拥有1:1的师生比。 这一消息是…

哈佛计算机系王牌项目,要请AI来当导师了!

来源 | 量子位 作者 | 克雷西 近日,哈佛宣布了一个重磅决定:AI导师将进入课程。负责的还是计算机系的旗舰项目——计算机科学导论,也就是著名的CS50。借助机器人导师,哈佛的CS50项目将拥有1:1的师生比。 这一消息是CS50项目导师Da…

机器学习吴恩达课程总结(一)

文章目录 1. 第一章 简介1.1 机器学习(Machine Learning)1.2 有监督学习(Supervised Learning)1.3 无监督学习(Unsupervised Learning) 2. 第二章 线性回归(Linear Regression)2.1 假…

吴恩达NLP课程资料

NLP_wuenda 1.简介 吴恩达老师在2020年6月份推出了NLP课程,Natural Language Processing Specialization  本人忙里偷闲将老师的视频和作业都完成了,后续会持续更新课程的资料和作业。目前NLP课程一共分为四门,每门课程会分为三&#xff08…

吴恩达新课程:ChatGPT提示工程,ChatGPT Prompt Engineering for Developers

来源:专知 本文为课程介绍,建议阅读5分钟 您将学习如何使用大型语言模型(LLM)快速构建新的和强大的应用程序。 https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/1/introduction 在ChatGPT Prompt Engineering for Developers中,您将…

python 用户登录,密码错误3次则锁定该用户

需求: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 判断用户是否在黑名单,如果在黑名单提示账号锁定,然后退出操作。 判断账号密码是否正确,如果正确则正常登录。如果不正确有三次输入密码机会…

Git 密码输入错误解决方案

前言:有时候我们不小心输入了密码,想要重新输入一次,但是始终找不到重新输入的提示框,这是因为 Windows缓存了我们的Git账号密码作为凭证,帮助我们下次自动登录 修改Git凭证 总结:控制面板 -> 用户账户…

使用git时输错密码解决办法

在使用git在clone项目的时候出现了让输入用户名和密码,然而密码输入错误导致项目clone不下来.. 解决办法:找到在控制面板\用户帐户\凭据管理器\windows凭据\ 里面删除原来的密码,删除后就可以重新输入密码了 输入正确的密码就可以clone了

Linux中标麒麟操作系统下,多次密码输入错误后账户被锁定的解决方法

错误描述 账户在登陆时,输入密码错误次数超过限制,账户就会被锁定。此后,即使密码输入正确,也不能正常登陆。 解决方法 1、使用root账号登陆系统 root账号需要点击“未列出”,在出现的提示框中输入root,…

关于密码输错三次后锁定登录

前言 用户登录输错密码三次将自动锁定该用户,本章用mybatisplus 提示:以下是本篇文章正文内容,下面案例可供参考 一、数据库展示 数据库字段展示 erroeNum为错误次数,isLock:0未锁定,1:锁定…

linux(ubuntu)用户连续N次输入错误密码进行登陆时,自动锁定X分钟

1、编辑PAM的配置文件 sudo vim /etc/pam.d/login在第二行添加 auth required pam_tally2.so deny3 unlock_time5 even_deny_root root_unlock_time10参数介绍 even_deny_root 也限制root用户; deny 设置普通用户和root用户连续错误登陆的最大次…