ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android – 如何检查订阅是否续订?

2019-10-06 14:25:54  阅读:322  来源: 互联网

标签:android in-app-purchase in-app-billing


我有一个可更新的每月订阅的Android应用程序.在这个应用程序中,我想在下个月他的订阅继续时通知用户一些信息.

正如我可以看到商家中心的续订(orderId以例如.0,..1结尾),但在查询库存时,我的采购订单ID与efor eq相同.

{
    "orderId": "GPA.XXXX-YYYY-XXXX-ZZZZZ",
    "packageName": "my.packageName",
    "productId": "my.sku",
    "purchaseTime": 1456398623654,
    "purchaseState": 0,
    "developerPayload": "mypayload",
    "purchaseToken": "token",
    "autoRenewing": true
}

令我困扰的是,buyTime也没有改变.

所以我的问题是:如果有任何方法可以在应用程序中检测到更新发生了吗?

编辑:

我正在使用Google Play Developer API获取订阅信息,然后自行计算续订数量.

解决方法:

所有重复的订单ID在INAPP_PURCHASE_DATA JSON字段的orderId字段中返回(在V3中),每个重复的事务都附加一个整数.

Subscription order numbers

To help you track transactions relating to a given subscription,
Google payments provides a base Merchant Order Number for all
recurrences of the subscription and denotes each recurring transaction
by appending an integer as follows:

GPA.1234-5678-9012-34567 (base order number)
GPA.1234-5678-9012-34567..0 (first recurrence orderID)
GPA.1234-5678-9012-34567..1 (second recurrence orderID)
GPA.1234-5678-9012-34567..2 (third recurrence orderID) ...

但由于local caching,您可能无法获得最新信息.因此,请尝试从应用程序管理器清除缓存,先查看是否获得了正确的购买信息

由于购买查询这种方式不可靠,因此从后端调用Google Play Developer Purchases.subscriptions: get API获取Purchases.subscriptions resource会更有意义,这将返回当前订阅的expiryTimeMillis.

{
  "kind": "androidpublisher#subscriptionPurchase",
  "startTimeMillis": long,
  "expiryTimeMillis": long,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": long,
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer
}

标签:android,in-app-purchase,in-app-billing
来源: https://codeday.me/bug/20191006/1861161.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有