微信小游戏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) https://login4wxgame.u.sdo.com (opens new window) https://mgame.sdo.com (opens new window) https://adi.u.sdo.com (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

方法调用均使用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 入参 属性名 类型 必填 说明 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

响应 属性名 类型 说明 # 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: 2024/9/13 06:22:11

相关知识

微信小游戏SDK 接入手册
重磅!小游戏SDK方案出炉,IAP必须接入!行业剧变!
近期发布微信小游戏的流程与心得:引擎选择、资源分包、软著申请、SDK接入及审核流程
腾讯广告小游戏SDK重磅发布
微信SDK安装
洞察探讨小游戏SDK接入的最佳实践以及对企业跨平台开发的优势
微信小游戏 SDK
LAYABOX 引擎小游戏 SDK 使用指南
微信小游戏CPS合作
什么是手游SDK?为什么要接入?

网址: 微信小游戏SDK 接入手册 http://www.hyxgl.com/newsview358414.html

推荐资讯