Android 使用Google Play Billing Library 2的延迟订阅续订实时开发者通知

Android 使用Google Play Billing Library 2的延迟订阅续订实时开发者通知,android,subscription,play-billing-library,renewal,Android,Subscription,Play Billing Library,Renewal,在客户端使用(GPBL)2时,第一次续订(RTDN)将在订阅到期后22小时到达 这种差距可能会导致拒绝我们为用户提供的服务 在客户端使用GPBL 1.2.2时,续订RTDN将在订阅到期前2小时到达 复制步骤: 在android客户端应用程序中使用任何GPBL版本2+。(使用GPBL 2.0.3、2.1.0、2.2.0进行测试) 1) 在Google Play上购买订阅(在客户端) 通过以下方式进行测试: 7天试用付费订阅 5分钟、15分钟、30分钟测试订阅(对于测试订阅,当使用GPBL 2时,

在客户端使用(GPBL)2时,第一次续订(RTDN)将在订阅到期后22小时到达

这种差距可能会导致拒绝我们为用户提供的服务

在客户端使用GPBL 1.2.2时,续订RTDN将在订阅到期前2小时到达

复制步骤: 在android客户端应用程序中使用任何GPBL版本2+。(使用GPBL 2.0.3、2.1.0、2.2.0进行测试)

1) 在Google Play上购买订阅(在客户端) 通过以下方式进行测试:

  • 7天试用付费订阅

  • 5分钟、15分钟、30分钟测试订阅(对于测试订阅,当使用GPBL 2时,RTDN在到期后10秒到达,而当使用GPBL 1时,RTDN在到期前2分钟到达。)

以下示例中使用的5分钟测试订阅:

2) 验证购买(后端)
  • 答复:
3) 确认购买(后端)
  • 响应200(空体)
4) 等待续订通知(后端)
  • 收到电话:1584703361173 epoch millis
    /“2020-03-20T11:22:41.173Z”
通知比原始过期时间晚10秒到达

我所知道的唯一区别是Android客户端中不同的GPBL版本和GPBL2所要求的购买确认呼叫

只有第一次续订通知延迟。后续续订通知将在每次到期前2分钟准时发出

问题: 要在到期前收到第一次续订通知,需要做些什么


谢谢你的任何提示或建议

你能解决你的问题吗?我想我也有类似的情况:。所以也许你的解决方案也能帮助我。嗨,我们已经根据谷歌的声明实施了续约:“开发者不应该仅仅依靠RTDN来确定到期时间。开发者应该在到期时间调用Google Play开发者API(服务器API),即使RTDN没有发送通知。”
GET https://www.googleapis.com/androidpublisher/v3/applications/[packageName]/purchases/subscriptions/[subscriptionId]/tokens/[token]
{
  "expiryTimeMillis": 1584703350967, // "2020-03-20T11:22:30.967Z"
  "autoRenewing": true,
  "priceCurrencyCode": "CZK",
  "priceAmountMicros": 159990000,
  "paymentState": 1,
  "orderId": "GPA.3399-3829-9285-87596",
  "acknowledgementState": 0
}
POST https://www.googleapis.com/androidpublisher/v3/applications/[packageName]/purchases/subscriptions/[subscriptionId]/tokens/[token]:acknowledge

{
  "developerPayload": null
}
{
  "countryCode":"CZ",
  "developerPayload":"",
  "kind":"androidpublisher#subscriptionPurchase",
  "orderId":"GPA.3399-3829-9285-87596..0",
  "priceCurrencyCode":"CZK",
  "autoRenewing":true,
  "expiryTimeMillis":1584703770967, // "2020-03-20T11:29:30.967Z"
  "startTimeMillis":1584702935111, // "2020-03-20T11:15:35.111Z"
  "priceAmountMicros":159990000,
  "paymentState":1,
  "purchaseType":0
}