# 微信小游戏SDK 接入手册
# 文档修订记录
文档版本 | 文档更新日期 | 文档更新内容 |
---|---|---|
1.0.0.1 | 2024-03-13 | 初版 |
1.0.0.2 | 2024-09-06 | 增加买量打点相关支持 |
# 1. 前言
本文用于指导小游戏接入SDK,文中包含小游戏SDK的接入说明及接口介绍。
# 2. 接入准备
- 微信小游戏接入配置指引 点击进入 (opens new window)
- 微信小游戏通讯域名接入(目前需要接入下列域名) 点击进入 (opens new window)
- 下载 SDK 拷贝到工程目录 点我下载 (opens new window)
# 3. 项目接入
# 3.1 项目引入
- 将下载的 SDK 导入到项目
import Gsdk from '../gsdk/index'
1
- SDK 初始化
Gsdk.Ginitialize({
appId: 1000,
});
1
2
3
2
3
- 方法调用均使用Promise风格进行调用,返回值统一格式
const init = async () => {
const { code, msg, data } = await Gsdk.Ginitialize({
appId,
});
if (code === 0) {
// 初始化成功
} else {
// 初始化失败
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
数据格式
属性名 | 类型 | 说明 |
---|---|---|
code | int | 状态码,根据不同状态进行处理和错误原因排查 |
msg | string | 错误提示信息 |
data | object | 响应数据 |
以下接口返回响应如无特别说明皆为data内容
# 3.2 代码示例
// 导入下载好的sdk
import Gsdk from '../sdk/index'
class Game {
constructor() {}
// 初始化
async init() {
// 调用初始化方法
await Gsdk.Ginitialize({
appId,
});
// 账号登录
const { code, msg, data } = await Gsdk.Glogin();
if (code === 0) {
// 登录成功
} else {
// 登录失败
}
}
}
const game = new Game();
game.init();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 3.3 接口
# 3.3.1 Ginitialize
- 入参
属性名 | 类型 | 必填 | 说明 |
---|---|---|---|
appId | string | 是 | 申请分配的appId |
- 响应
无
# 3.3.2 Glogin
- 入参
无
- 响应
属性名 | 类型 | 说明 |
---|---|---|
ticket | string | 游戏登录票据,设置为5分钟 |
token | string | 盛趣小游戏sdk登录态 |
userid | string | 盛趣appmid |
openid | string | 微信openid |
unionid | string | 微信unionid |
# 3.3.3 GgetTicket
- 入参
无
- 响应
属性名 | 类型 | 说明 |
---|---|---|
ticket | string | 游戏登录票据,设置为5分钟 |
# 3.3.4 Gpay
- 入参
属性名 | 类型 | 必填 | 说明 |
---|---|---|---|
areaId | string | 是 | 区ID |
productId | string | 是 | 商品ID |
orderId | string | 是 | 订单ID |
extend | string | 否 | 订单扩展信息,会在服务端发货时原样返回 |
groupId | string | 否 | 组ID,按需传递 |
- 响应
属性名 | 类型 | 说明 |
---|---|---|
payType | number | 支付方式, 1: 原生支付 |
orderId | string | 盛趣订单号 |
# 3.3.5 GactionReport (行为上报)
- 入参
属性名 | 类型 | 必填 | 说明 |
---|---|---|---|
action | string | 是 | 上报行为(目前支持role_create(角色创建),role_login(角色登录),role_level(角色升级)三种) |
actionData | JSON | 是 | 上报数据(JSON格式) |
actionData释义
参数名称 | 参数说明 | 是否必须 | 数据类型 |
---|---|---|---|
roleId | 角色ID | true | String |
roleName | 角色名称 | true | String |
roleLevel | 角色等级 | true | Number |
zoneId | 区服ID | true | String |
zoneName | 区服名称 | true | String |
roleCtime | 角色创建时间(时间戳) | true | Number |
shiftLevel | 转身等级 | true | Number |
fight | 战力 | true | Number |
示例
actionData: {
ucid: 100,
roleId: '1000',
roleName: '测试角色名',
roleLevel: 1,
zoneId: '1',
zoneName: '测试1区',
roleCtime: 1725431204651,
shiftLevel: 1,
fight: 100
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- 响应
属性名 | 类型 | 说明 |
---|
# 3.4 错误码
3.4.1 Glogin错误码:
错误码 | 说明 |
---|---|
-10403020 | db is error |
-10403021 | get wei xin service error |
-10403019 | json parse error |
-10403013 | The system is busy |
-10403014 | The code is invaild |
-10403015 | Frequency limitation |
-10403016 | High-risk level user |
-10403022 | get lsc4gauth service error |
-10403005 | Request param error |
3.4.2 GgetTicket错误码:
错误码 | 说明 |
---|---|
-10403005 | Request param error |
-10403023 | token has expired |
# 4. FAQ
# 4.1 微信原生api均有转发,可以通过Gsdk调用。另微信api侧errno因时效性等不在此处一一列举,可于微信官方文档 (opens new window)查阅
← Web OAuth 小游戏 (Untiy) →