# 签到接口

# 背景和流程说明

# 背景说明

签到模块适用于有签到需求的游戏团队使用。本模块支持多组任务同时签到;每组签到任务可设置签到天数、奖励信息和生效时间,以及多种签到类型和重置周期。 本文档适用于和第3方团队进行接口对接时使用,帮助团队更加清晰的了解签到接口。文档主要包括三部分内容:背景说明,配置说明,以及涉及到的接口说明。

# 对接流程

  1. 双方需要准备好的条件有哪些?

    签到功能依赖于登陆模块,游戏侧必须先登陆,再进行签到操作。

    如果游戏侧需要MOGS为玩家发签到奖励,需要先接入 奖励系统。此接入方式称为SDK接入方式,游戏侧同时接入MOGS签到和奖励池(物品)模块,通过SDK与MOGS通信,依靠MOGS 签到并发奖否则,游戏侧需要使用 HTTP接入方式 与MOGS后台通信进行签到操作,MOGS只负责 更新签到状态透传游戏侧自定义的奖励描述字段 ,游戏侧自己发奖。

  2. HTTP接口调用流程图 sign-in-http-sequence-diagram.png

  3. 怎么验证本轮对接是否成功? 接口返回成功响应。

# 配置说明

# 配置样例

# 签到

sign-in-config.png

# 补签

additional-sign-in-config.png

# 字段说明

# 签到

字段 类型 描述
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

  1. 有的字段类型为 文本,代表项目组配置时需要填中文,转表后转为数字枚举值

  2. 补签 仅在签到类型为 日常 时可用

  3. HTTP接入方式中,奖励/消耗信息配置在 自定义字符串 中,具体格式需要由游戏侧的策划及前后台开发商量,如类似“奖励类型;奖励ID;奖励类型”这样的格式。

  4. Q:如果我想配两组签到交替循环怎么办?比如两组签到类型和天数都相同,想要玩家第一个七天签到奖励A,第二个七天签到奖励B,第三个七天签到奖励A,然后再B……A, B 奖励循环 A:可以配一个14天的签满重置的签到组,前7天配奖励A,后7天配奖励B,就可以循环了。客户端展示的话,直接取模一下。

  5. 关于签到配置变更,有如下说明

  • 相同group id的配置,已有的id对应数据不能删除和修改(奖励池ID和自定义字符串可以改),可以往后再增加id。
  • 如果更换或者添加不同group id,则会以配置为准,删除db中已有数据。

# 接口详情说明

# HTTP接口

# 接口功能

本接口提供给游戏侧后台调用,传入当前想签到的 组id 和 第几天,改变当前日期签到状态,获取奖励/消耗信息。

# 接口参数

  1. 接口URI https://test.creativity.qq.com:9311/signin?

  2. 接口协议:HTTP-POST

  3. 调用频次:用户点击“签到”时实时调用

  • 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" }' 
1
2
3
4

响应示例:

{
"ret": 0
"customized_string": "aaa"
}
1
2
3
4

# SDK接口

详情见签到系统