我们需要将有关应用购买的信息与服务器上的用户相关联。对于应用内商品,这很容易实现,因为我们可以收到购买令牌。
如何为直接从Google Play下载的付费应用程序实现相同的功能?我们无法找到一种方法来接收订单ID或购买令牌以在我们的服务器上进行记录。
答案 0 :(得分:0)
我在研究自己的问题时遇到了这个问题和您的问题。我认为this可能就是您要寻找的东西:
支持开发人员有效载荷
Google Play计费库的2.0版本增加了对开发人员有效负载的支持-开发人员有效负载可以附加到购买中。您可以将开发人员有效负载参数附加到购买中,但是仅当确认或消费了购买时才可以。这与AIDL中的开发人员有效负载不同,在AIDL中,可以在启动购买流程时指定有效负载。由于现在可以从应用程序外部启动购买,因此此更改可确保您始终有机会向购买添加有效负载。
要访问新库中的有效负载,Purchase对象现在包括一个getDeveloperPayload()方法。
注意:分配有效负载后,您将无法修改。
这是一些示例代码:
消耗品
BillingClient client = ...
ConsumeResponseListener listener = ...
ConsumeParams consumeParams =
ConsumeParams.newBuilder()
.setPurchaseToken(/* token */)
.setDeveloperPayload(/* payload */)
.build();
client.consumeAsync(consumeParams, listener);
非消耗品
BillingClient client = ...
AcknowledgePurchaseResponseListener listener = ...
AcknowledgePurchaseParams acknowledgePurchaseParams =
AcknowledgePurchaseParams.newBuilder()
.setPurchaseToken(/* token */)
.setDeveloperPayload(/* payload */)
.build();
client.acknowledgePurchase(acknowledgePurchaseParams, listener)