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

时间:2019-05-31 14:15:17

标签: android google-play in-app-purchase

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

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

1 个答案:

答案 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)