无服务器兑换开发指南
提示
这篇是说明无服务器兑换方式的接入流程,如果需要完整开发内容请看 开发指南。
介绍
对接礼包兑换码需要游戏方自行维护一到两个 Web 接口是比较繁琐的,固我们简化兑换的流程为:
游戏方请求兑换接口进行兑换,根据接口返回的信息判断兑换是否成功。
这样游戏方只需调用一个接口就能完成对接。
提示
客户端直接收到兑换结果是可以被截取的,所以此方式安全系数没有其他方式高。
对接
兑换接口
域名按开发者中心分为两个地址,两个地址的礼包数据是不互通的:
TapTap 版本 | 域名 |
---|---|
国内 taptap.cn | https://poster-api.xd.cn |
海外 taptap.io | https://poster-api.xd.com |
兑换接口参数在开发指南 - 无服务器兑换中有详细介绍。
发起兑换时需要生成签名,无服务兑换接口签名是由 clientId 等信息计算出来的,签名计算过程见文档。
返回值
结果
根据返回值中的 error 字段是否为 0 来判断兑换行为是否成功,当 error 字段判断不为 0 时可以根据错误码来查看具体原因。
验证
为了防止返回信息未被窜改,建议您做以下措施:
- 为防止重放攻击您需要校验下返回时间戳是否与客户端时间相差过多;
- 根据返回值计算出签名,验证是否与返回值里的签名相同,签名计算过程见文档;
- 建议奖品内容的 name 可以是加密后的名称。
奖品内容
根据返回值中的 content 或者 content_obj 字段都可以获取该兑换码对应的奖品内容,而区别是 content 是一段嵌套的 json 字符串,直接按对象方式解析可能会报错。
其中奖品内容设置是不限中英文的,为了方便开发判断建议最好维护一份道具表。
其他
开发环境
使用无服务器兑换接口区分测试正式环境需在开发者中心新建不同应用来完成。
如果无法分应用处理环境问题建议使用无二次校验兑换接口通过配置服务器信息,配置服务器 code 转发到不同环境完成兑换。