跳到主要内容

Idempotency

1. 幂等性

关于PGOS中幂等性的说明,请查看此文档

1.1 经济系统的幂等性

对于同一类型的API调用,幂等性令牌必须是唯一的。这意味着可以在不同类型的API调用中使用相同的idempotency_token。例如,假设在GrantItemsToPlayer请求中使用了IdempotencyToken1,那么如果在ConsumeInstance中传入IdempotencyToken1,实例将会被成功消耗,因为ConsumeInstance被视为与GrantItemsToPlayer不同的API调用类型。以下是经济后端API的几种调用类型:

  1. 消耗实例(客户端SDK):使用相同幂等性令牌的请求在ConsumeInstance中将获得相同的结果。
  2. 发放物品或货币:使用相同幂等性令牌的请求在GrantItemsToPlayerGrantCurrencyToPlayer中将获得相同的结果。
  3. 扣除虚拟货币:使用相同幂等性令牌的请求在SubtractPlayerCurrency中将获得相同的结果。
  4. 增加实例自定义数据:增加实例自定义数据的幂等性范围与上述不同。幂等性令牌仅在同一实例下有效。即使使用相同的幂等性令牌,不同玩家或不同实例的请求也会被视为不同的请求。