迁移到Google Play Billing Library Version 5.1.0 - SkuDetails.ge



我正在从Google Play Billing版本4.0.0升级到版本5.1.0。在版本4SkuDetails有函数getOriginalJson(),它包含一个json对象,我发送到我的后端。我深入研究了API,但在5.1.0版本中找不到一个正式的等效API。

有两个地方,我可以看到这个信息可能在com.android.billingclient.api.ProductDetails中可用-一个内部的JSONObject成员,我们不应该访问,作为toString()函数的一部分,这个信息被附加到parsedJson。我可能可以从toString()中提取我需要的东西,但我想知道是否有更好的/官方的东西。

可以在Purchase类中访问。

Purchase.getOriginalJson();

可访问的位置:

billingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(BillingResult billingResult) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
QueryPurchasesParams queryPurchasesParams = QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP).build();
billingClient.queryPurchasesAsync(queryPurchasesParams, (billingResult1, list) -> runOnUiThread(() -> {
for (Purchase purchase: list) {
Log.d("originalJson", purchase.getOriginalJson());
}
}));
}
}
@Override
public void onBillingServiceDisconnected() { }
});

:

@Override
public void onPurchasesUpdated(@NonNull BillingResult billingResult, @Nullable List<Purchase> purchases) {
runOnUiThread(() -> {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK && purchases != null) {
for (Purchase purchase: purchases) {
Log.d("originalJson", purchase.getOriginalJson());
}
}
}
}

好运。

最新更新