从 Google Play 获取付费应用的购买令牌

And*_*huk 6 android in-app-purchase google-play android-app-licensing

我们需要将有关应用购买的信息与我们服务器上的用户相关联。对于应用内产品,这很容易做到,因为我们可以收到购买令牌。

如何为直接从 Google Play 下载的付费应用实现相同的功能?我们无法找到一种方法来接收订单 ID 或购买令牌以记录在我们的服务器上。

COY*_*OYG 0

我在研究自己的问题时遇到了这个和你的问题。我想可能就是您所寻找的:

\n
\n

支持开发者负载

\n

Google Play Billing 库 2.0 添加了对开发人员有效负载\xe2\x80\x94可附加到购买的任意字符串的支持。您可以将开发人员有效负载参数附加到购买,但前提是购买已被确认或使用。这与 AIDL 中的开发人员有效负载不同,在 AIDL 中,可以在启动购买流程时指定有效负载。由于现在可以从应用程序外部发起购买,因此此更改可确保您始终有机会向购买添加有效负载。

\n

为了访问新库中的有效负载,Purchase 对象现在包含 getDeveloperPayload() 方法。

\n

注意:分配有效负载后,您将无法对其进行修改。

\n
\n

这是一些示例代码:

\n

消耗品

\n
BillingClient client = ...\nConsumeResponseListener listener = ...\n\nConsumeParams consumeParams =\n    ConsumeParams.newBuilder()\n        .setPurchaseToken(/* token */)\n        .setDeveloperPayload(/* payload */)\n        .build();\n\nclient.consumeAsync(consumeParams, listener);\n
Run Code Online (Sandbox Code Playgroud)\n

非消耗品

\n
BillingClient client = ...\nAcknowledgePurchaseResponseListener listener = ...\n\nAcknowledgePurchaseParams acknowledgePurchaseParams =\n    AcknowledgePurchaseParams.newBuilder()\n        .setPurchaseToken(/* token */)\n        .setDeveloperPayload(/* payload */)\n        .build();\n\nclient.acknowledgePurchase(acknowledgePurchaseParams, listener)\n
Run Code Online (Sandbox Code Playgroud)\n

  • 您提到了用于销售应用内产品的 Google Play Billing 库。但我们可以使用购买令牌和订单 ID 来跟踪应用内购买。问题是我们如何跟踪在 Google Play 中购买的下载应用程序 (2认同)