在App Purchase中:在购买完成之前获取令牌

时间:2018-02-08 14:47:58

标签: android in-app-purchase

在应用程序中购买我的应用程序是特殊的,即服务器必须在购买后提供一些内容。现在,当用户进行应用程序购买(例如网络连接丢失)后立即发生某些事情时,服务器不会发现有关购买的信息。 iOS提供了收据的概念,使服务器能够定期检查特定用户是否进行了购买。还有适用于Android的东西吗?

E.g。

User wants to buy something
send token/receipt/whatever to my server
connection gets lost here

现在服务器知道它收到了令牌,但购买没有完成,所以它可以定期检查令牌是否已由用户完成购买,如果是,则传送内容​​。

1 个答案:

答案 0 :(得分:0)

您可以做的是在应用程序开始使用In-App billing library时检索用户的购买情况,并向服务器发送请求以查找之前失败的用户。

当然,您需要某种本地数据库(SQLite,或使用共享首选项)来存储失败的数据库和成功兑换的数据库。

在我的应用中,这就是我的工作:

  1. 获得"高级状态"来自我的服务器
  2. 使用应用内结算获取高级状态
  3. 如果服务器显示 not premium 且客户端显示 premium ,则客户端会将购买令牌(由应用内结算提供)发送到验证它的服务器。如果验证成功,客户端将在本地保存信息。 (当然,每次启动应用程序时,都会再次检索高级状态,因为服务器是权限!)