开发人员有效负载和服务器后端交互(Google In App Billing)

时间:2018-05-25 19:49:27

标签: android in-app-billing payload

以下方法是否必要和/或最佳实践?

  1. 在我的客户端中,使用登录令牌调用后端服务器端点getRandomString以唯一标识用户。
  2. 服务器生成随机字符串并将其添加到用户的可用随机字符串列表
  3. 客户端使用此随机字符串作为开发人员有效负载。
  4. 当我来验证服务器上的购买令牌时,我检查开发者有效负载是用户“随机字符串”数组中的一个。
  5. 如果它在列表中,请将其删除,然后验证购买,否则拒绝验证。
  6. 我无法在谷歌文档或SE上发现这方面的指导,或者帖子似乎是从5年前开始。

    上述方法是否正确。而且,使用开发者有效负载实际上是必要的吗?

1 个答案:

答案 0 :(得分:1)

我认为我现在已经确定了开发人员有效负载混淆的根源。多年前我使用BehaviorSubject开发人员有效负载进行编码时,InAppPurchasing函数中的附加参数是一个额外参数,但新的结算库及其launchPurchaseFlow不支持开发者有效负载了。它显然现在被归类为遗产领域。 See here for example.this Google post,我们有确认:

  

您好

     

字段developerPayload是一个遗留字段,用于保持与旧实现的兼容性,但正如在“购买应用内结算产品”页面(https://developer.android.com/training/in-app-billing/purchase-iab-products.html)中所述,此字段在完成时始终不可用与应用内结算相关的任务。   由于该库旨在代表最新的开发模型,我们决定在我们的实现中不支持developerPayload,并且我们没有计划将此字段包含在库中。

     

如果您依赖于developerPayload上任何重要的应用内结算逻辑实现,我们建议您更改此方法,因为此字段将在某个时间点(或很快)弃用。   建议的方法是使用您自己的后端来验证和跟踪有关订单的重要详细信息。有关更多详细信息,请查看“安全和设计”页面(https://developer.android.com/google/play/billing/billing_best_practices.html)。

     

由于