1.名词解释
appid
应用申请接入开放平台时得到的应用ID
appkey
应用申请接入开放平台时分配的私钥
openid
与APP通信的用户用户id。从平台跳转到应用时会调用应用的CanvasURL,平台会在CanvasURL后带上本参数。由平台直接传给应用,应用原样传给平台即可
openkey
session key。从平台跳转到应用时会调用应用的CanvasURL,平台会在CanvasURL后带上本参数。由平台直接传给应用,应用原样传给平台即可
pf
应用的来源平台。从平台跳转到应用时会调用应用的CanvasURL,平台会在CanvasURL后带上本参数。由平台直接传给应用,应用原样传给平台即可
CanvasURL
(1) CanvasURL也称之为应用开发地址,CanvasURL不会展现在地址栏,只是用于跳转时引用。
(2) CanvasURL由开发者填写(登录op.open.qq.com后进入管理中心,选择1个应用进入,在“应用管理”tab下的“平台信息”页面可看到应用开发地址填写框),它可以是一个CGI
Service的地址,也可以是一个HTML页面。
(3) 对于hosting应用来说,CanvasURL的域名是由平台分配的。
(4) 客户端游戏的情况:请参照客户端调用说明文档。
(5)全选服游戏的情况:请参照open.qq.com关于选取选服页的说明。
沙箱环境与正式环境
沙箱环境是为了开发与调试所提供的测试环境,它与正式环境互相隔离,但具有正式环境几乎完全相同的功能。沙箱环境通过指定ip调用相应接口,正式环境可以通过域名或者ip调用对应接口。此外,在沙箱环境中产生的数据与正式环境相互隔离。
2.整体架构
2.1页游运行架构
(1)大厅启动游戏的时候访问app框架页(QQGame架构组成部分),该框架页获取到游戏内用户的openid、openkey、pf等参数,拉起游戏的CanvasUrl,将这些参数传给游戏的CanvasUrl,游戏前端再传递给游戏后台
(2)游戏的CanvasUrl调用 javascript接口GameAPI,请参考 Web前端接口GameAPI
(3)游戏的后台调用 OpenApi,请参考 后台接口OpenAPI调用说明
2.2客户端游戏运行架构
(1)大厅拉起游戏客户端,将openid、openkey, pfkey, port参数通过命令行参数传递给游戏客户端,游戏客户端使用port端口号跟大厅建立websocket连接,将openid,openkey,pfkey参数传递给游戏后台,请参考 客户端游戏接入大厅通信和打包说明
(2)游戏的后台调用 QQGame OpenApi,请参考 后台接口OpenAPI调用说明
(3)支付接入请参考腾讯开放平台文档《云支付wiki》,提交接入申请和配置后,游戏后端需要接入腾讯支付服务器,调用支付接口获取交易token以及物品URL, 不同点是前端不用Fusion API跳转腾讯支付页面,而是通过websoket协议打开qqgame封装的支付页,前端打开支付页面请参考客户端游戏支付页接入系统处理流程如下图
注意:支付构造签名容易出错,相关问题请查看支付FAQ