一、兑换码介绍

兑换码都很熟悉了,玩游戏的时候一般会用到,主要两种使用场景:

1、用于在游戏内兑换虚拟物品;

2、用于激活一款游戏,获得体验游戏的资格,这种也叫激活码。

兑换码分为两类,一种是一码一用兑换码,也就是一串序列只能被兑换一次,还有一种是一码多用兑换码,同一串序列可以被不同玩家兑换。

二、反推兑换逻辑

下面从兑换的外在表现反推兑换码的技术逻辑流程,以及在兑换过程中涉及的不同服务方。

Q1:玩家怎么得到的兑换码?

A1:从QQ群/微信公众号/平台购买等渠道获得了一个兑换码。

Q2:这些渠道的兑换码怎么来的?

A2:运营发放/上传的一批兑换码。

Q3:运营手里的兑换码从哪里来?

A3:从某个平台导出的。

Q4:平台的兑换码哪儿来?

A4:平台自己生成的。

Q5:那为什么游戏可以识别兑换码的对错呢?

A5:其实是平台在识别对错,游戏只是把玩家输入的兑换码去问平台对不对,平台说是就是啥。

Q6:游戏怎么问?平台怎么告诉游戏结果?

A6:平台提供一个接口,游戏按平台提供的接口规范来发送玩家的兑换请求,平台返回对or错,错了就返回错的原因,对的话还要把兑换码礼包信息发过去,不然游戏就不知道要发什么道具给玩家,会很慌。

为什么是平台提供接口可以详见这篇文章:

https://coffee.pmcaff.com/article/1994621570861184/pmcaff?utm_source=forum&newwindow=1

Q7:平台返回了兑换码正确的信息,游戏怎么发道具?

A7:游戏调用自己的邮件服务发到玩家邮箱,至此整个兑换流程就结束了。

游戏礼包码一般怎么弄(浅谈游戏兑换码功能的实现)(1)

游戏礼包码一般怎么弄(浅谈游戏兑换码功能的实现)(2)

三、兑换细节

实际交互中还有一些细节,比如有的兑换码会限制可兑换的玩家等级、累计金额、区服、渠道、版本等等,对于平台来说,我设置了这些限制条件,但是我并不知道玩家的这些信息呀,所以都需要游戏服务器在请求兑换的时候一并把玩家信息都传过来,平台就会根据这些信息筛选:

哎呀这个等级不够呀,返回个错误2

哎呀这个都不是最新版本的,返回错误6

这个人完!美!适!配!允!以!通!过!返回status:0

……

返回是否可兑换的结果的时候也要把玩家基础信息(比如区服、角色ID)带上,不然游戏方也把这哪位忘的一干二净,服务器再去告诉客户端,具体结果的体现出于用户体验考虑,需要在客户端层面包装一下,比如status为0时展示“兑换成功”的文本,status为1,message为6的时候展示“兑换失败,您需要安装最新版本”等等。

四、结语

一码一用兑换码和复用兑换码的接入方式一模一样,基本上跑通了其中一个,另一个就自然通了,因为这个是否复用的逻辑,包括可兑换多少次的逻辑都是平台在限制,在做逻辑判断,只需要游戏搬搬砖当个传输中介而已。

真的是个对游戏方而言很省心的功能~

本文由作者@fancy小可爱 在PMCAFF社区发布,转载请注明作者及出处。

PMCAFF社区主页:https://s.pmcaff.com/p7dUA

,