# 签到接口
# 背景和流程说明
# 背景说明
签到模块
适用于有签到需求的游戏团队使用。本模块支持多组任务同时签到;每组签到任务可设置签到天数、奖励信息和生效时间,以及多种签到类型和重置周期。
本文档适用于和第3方团队进行接口对接时使用,帮助团队更加清晰的了解签到接口。文档主要包括三部分内容:背景说明,配置说明,以及涉及到的接口说明。
# 对接流程
双方需要准备好的条件有哪些?
签到功能
依赖于登陆模块
,游戏侧必须先登陆,再进行签到操作。如果游戏侧
需要MOGS为玩家发签到奖励
,需要先接入 奖励系统。此接入方式称为SDK接入方式
,游戏侧同时接入MOGS签到和奖励池(物品)模块,通过SDK与MOGS通信,依靠MOGS 签到并发奖。 否则,游戏侧需要使用HTTP接入方式
与MOGS后台通信进行签到操作,MOGS只负责 更新签到状态 并 透传游戏侧自定义的奖励描述字段 ,游戏侧自己发奖。HTTP接口调用流程图
怎么验证本轮对接是否成功? 接口返回成功响应。
# 配置说明
# 配置样例
# 签到
# 补签
# 字段说明
# 签到
字段 | 类型 | 描述 |
---|---|---|
id | int | 自增 |
组ID | int | 一组签到任务的唯一标识,每组签到任务自增 |
签到天数 | int | 签到任务的第几天 |
通用奖励池ID | int | 关联奖励池id(HTTP接入方式不需关心,不填 ) |
自定义字符串 | string | 游戏侧自定义的奖励描述字段(SDK接入方式不需关心,不填 ) |
签到类型 | 文本 | 日常(按日期算签到天数);连续(按连续登陆日期算签到天数);累计(按累计登陆日期算签到天数) |
是否主动签到 | int | 填"1"为需要玩家手动点击“签到”(HTTP接入方式只能填1 );填“0”为上线/跨天自动签到发奖 |
重置周期 | 文本 | 每周 ;每月;签满(指玩家把这组签到任务全部做完之后,签到状态重置);不重置(指玩家把这组签到任务全部做完之后,废弃该组状态) |
重置时序 | int | 每月仅支持1(号);每周可支持(星期)0~6,星期0指周日;其他重置周期则不填 |
开始时间 | string | 配置生效的开始时间 |
结束时间 | string | 配置生效的结束时间 |
# 补签
字段 | 类型 | 描述 |
---|---|---|
id | int | 自增 |
组ID | int | 关联签到表的组id |
补签天数 | int | 每个签到周期内补签的第几天,每次补签累加一天 |
消耗物品ID | int | 关联物品id(HTTP接入方式不需关心,不填 ) |
消耗物品数量 | int | 物品数量(HTTP接入方式不需关心,不填 ) |
自定义字符串 | string | 游戏侧自定义的消耗描述字段(SDK接入方式不需关心,不填 ) |
# 注意事项及FAQ
有的字段类型为
文本
,代表项目组配置时需要填中文
,转表后转为数字枚举值补签
仅在签到类型为日常
时可用HTTP接入方式
中,奖励/消耗信息配置在自定义字符串
中,具体格式需要由游戏侧的策划及前后台开发商量,如类似“奖励类型;奖励ID;奖励类型”这样的格式。Q:
如果我想配两组签到交替循环怎么办?比如两组签到类型和天数都相同,想要玩家第一个七天签到奖励A,第二个七天签到奖励B,第三个七天签到奖励A,然后再B……A, B 奖励循环A:
可以配一个14天的签满重置的签到组,前7天配奖励A,后7天配奖励B,就可以循环了。客户端展示的话,直接取模一下。关于签到配置变更,有如下说明
- 相同group id的配置,已有的id对应数据不能删除和修改(奖励池ID和自定义字符串可以改),可以往后再增加id。
- 如果更换或者添加不同group id,则会以配置为准,删除db中已有数据。
# 接口详情说明
# HTTP接口
# 接口功能
本接口提供给游戏侧后台调用,传入当前想签到的 组id 和 第几天,改变当前日期签到状态,获取奖励/消耗信息。
# 接口参数
接口URI https://test.creativity.qq.com:9311/signin?
接口协议:HTTP-POST
调用频次:用户点击“签到”时实时调用
- URL请求参数说明
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
appid | uint64_t | 是 | MOGS给游戏侧分配的游戏ID,是游戏的唯一标识 |
app_plat | enum | 是 | 游戏平台,1 微信,2 QQ,3 PC(仅测试用),4 有乐 |
openid | string | 是 | 玩家的唯一标识 |
js_code | string | 是 | 登录态 |
- Body请求参数说明(Json格式)
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
group_id | int | 是 | 要执行签到的签到组id |
day | int | 是 | 当前签到组的第几天 |
sign_type | string | 是 | 签到类型。"manually" 签到;"additionally" 补签 |
- 响应参数说明(Json格式)
字段名 | 类型 | 描述 |
---|---|---|
ret | int | 返回码。0:正确,其他:失败 |
customized_string | string | 游戏侧自定义的奖励描述字段 |
# 调用示例
请求示例:
// 签到,第一组第一天
curl 'http://9.140.233.132:9311/signin?appid=10001&app_plat=3&openid=abcde' \
-X POST \
-d '{ "group_id":1, "day":1, "sign_type":"manually" }'
2
3
4
响应示例:
{
"ret": 0
"customized_string": "aaa"
}
2
3
4
# SDK接口
详情见签到系统