在Android应用内结算中获取订阅数据

时间:2012-08-24 10:02:16

标签: android in-app-billing

我正在将Google应用内结算功能(尤其是订阅)整合到我们的应用中。

现在我无法弄清楚如何从IMarketBillingService(Google Play)获取以下数据到我的应用:

  • 价格信息

  • 订阅到期日(当前付款期限)

  • 如果用户取消正在进行的订阅,则会收到通知

以下代码解析了获取购买信息所产生的JSON对象,但其中没有价格字段。然而,谷歌IAP文档说价格可用!?

JSONObject jElement = jTransactionsArray.getJSONObject(i);
int response = jElement.getInt("purchaseState");
PurchaseState purchaseState = PurchaseState.valueOf(response);
String productId = jElement.getString("productId");
String packageName = jElement.getString("packageName");
long purchaseTime = jElement.getLong("purchaseTime");
String orderId = jElement.optString("orderId", "");
String purchase_token = jElement.optString("purchaseToken", "");
String notifyId = null;
if (jElement.has("notificationId")) {
  notifyId = jElement.getString("notificationId");
}
String developerPayload = jElement.optString("developerPayload", null);

任何帮助?

1 个答案:

答案 0 :(得分:5)

  
      
  • 价格信息
  •   

Google Play的结算服务不提供定价信息。如果您真的需要它,您可以通过记录您的商品价格并猜测用户的货币来自己提供这些信息。

  
      
  • 订阅到期日(当前付款期限)
  •   

Subscriptions API Guide中阅读检查订阅有效期。有HTTP-based API个人在Google Play上查看订阅的当前购买状态。

  
      
  • 通知用户是否取消正在进行的订阅
  •   

没有提供。来自Subscriptions API Guide

  

如果用户取消订阅,Google Play会考虑   订阅有效,直到当前结算周期结束。该   用户继续享受周期剩余时间的内容   没有退款。