# 微信小游戏SDK 接入手册

# 文档修订记录


文档版本 文档更新日期 文档更新内容
1.0.0.1 2024-03-13 初版
1.0.0.2 2024-09-06 增加买量打点相关支持

# 1. 前言


本文用于指导小游戏接入SDK,文中包含小游戏SDK的接入说明及接口介绍。

# 2. 接入准备


  1. 微信小游戏接入配置指引 点击进入 (opens new window)
  2. 微信小游戏通讯域名接入(目前需要接入下列域名) 点击进入 (opens new window)
  3. 下载 SDK 拷贝到工程目录 点我下载 (opens new window)

# 3. 项目接入


# 3.1 项目引入

  1. 将下载的 SDK 导入到项目
import Gsdk from '../gsdk/index'
1
  1. SDK 初始化
Gsdk.Ginitialize({
  appId: 1000,
});
1
2
3
  1. 方法调用均使用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

数据格式

属性名 类型 说明
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

# 3.3 接口

# 3.3.1 Ginitialize
  1. 入参
属性名 类型 必填 说明
appId string 申请分配的appId
  1. 响应

# 3.3.2 Glogin
  1. 入参

  1. 响应
属性名 类型 说明
ticket string 游戏登录票据,设置为5分钟
token string 盛趣小游戏sdk登录态
userid string 盛趣appmid
openid string 微信openid
unionid string 微信unionid
# 3.3.3 GgetTicket
  1. 入参

  1. 响应
属性名 类型 说明
ticket string 游戏登录票据,设置为5分钟
# 3.3.4 Gpay
  1. 入参
属性名 类型 必填 说明
areaId string 区ID
productId string 商品ID
orderId string 订单ID
extend string 订单扩展信息,会在服务端发货时原样返回
groupId string 组ID,按需传递
  1. 响应
属性名 类型 说明
payType number 支付方式, 1: 原生支付
orderId string 盛趣订单号
# 3.3.5 GactionReport (行为上报)
  1. 入参
属性名 类型 必填 说明
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
  1. 响应
属性名 类型 说明

# 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)查阅

Last Updated: 9/13/2024, 6:22:11 AM