我有一个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 orderId
的领域 INAPP_PURCHASE_DATA
JSON字段(在V3中),每个重复事务都附加一个整数。
订阅订单号
为了帮助您跟踪与给定订阅相关的交易,
Google付款为所有人提供基本商家订单号
订阅的重复发生并表示每个重复交易
通过附加一个整数,如下所示:
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) ...
但由于 本地缓存 您可能无法获得最新信息。因此,请尝试从应用程序管理器清除缓存,首先查看是否获得了正确的购买信
由于购买查询这种方式不可靠,因此调用Google Play Developer更有意义 Purchases.subscriptions:得到 来自后端的API来获取 购买订阅资源 将返回 expiryTimeMillis
当前订阅。
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": long,
"expiryTimeMillis": long,
"autoRenewing": boolean,
"priceCurrencyCode": string,
"priceAmountMicros": long,
"countryCode": string,
"developerPayload": string,
"paymentState": integer,
"cancelReason": integer
}
返回所有重复的订单ID orderId
的领域 INAPP_PURCHASE_DATA
JSON字段(在V3中),每个重复事务都附加一个整数。
订阅订单号
为了帮助您跟踪与给定订阅相关的交易,
Google付款为所有人提供基本商家订单号
订阅的重复发生并表示每个重复交易
通过附加一个整数,如下所示:
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) ...
但由于 本地缓存 您可能无法获得最新信息。因此,请尝试从应用程序管理器清除缓存,首先查看是否获得了正确的购买信
由于购买查询这种方式不可靠,因此调用Google Play Developer更有意义 Purchases.subscriptions:得到 来自后端的API来获取 购买订阅资源 将返回 expiryTimeMillis
当前订阅。
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": long,
"expiryTimeMillis": long,
"autoRenewing": boolean,
"priceCurrencyCode": string,
"priceAmountMicros": long,
"countryCode": string,
"developerPayload": string,
"paymentState": integer,
"cancelReason": integer
}
仅当订阅处于活动状态时,才会返回订阅的购买数据。
如果订阅到期,那么在查询库存时您将无法获得此购买数据。
摘录自 链接
如果定期付款失败(例如,因为客户的付款
信用卡已失效),订阅不续订。该
getPurchases()方法不会返回失败或过期的订阅。