Позднее уведомление о продлении подписки в режиме реального времени с Google Play Billing Library 2 - PullRequest
0 голосов
/ 25 марта 2020

При использовании Google Play Billing Library ( GPBL ) 2 в клиенте, первое обновление в режиме реального времени уведомление разработчика ( RTDN ) поступает через 22 часа после истечения срока подписки .

Такой разрыв может привести к отказу в наших услугах для пользователя.

С GPBL 1.2.2 в клиенте обновление RTDN приходит за 2 часа до истечения срока подписки.

Шаги для воспроизведения :

Используйте любое GPBL версии 2+ в клиентском приложении android. (Протестировано с GPBL 2.0.3, 2.1.0, 2.2.0)

1) Приобрести подписку в Google Play (в клиенте)

Протестировано с:

  • 7-дневная пробная версия Платная подписка.

  • 5 минут, 15 минут, 30 минут Тест подписок (Для Тестовых подписок RTDN прибывает через 10 секунд после истечения срока действия при использовании GPBL 2, в отличие от 2 минут до истечения срока действия при использовании GPBL 1.)

5мин Тест подписка используется в следующем примере:

2) Проверка покупки (бэкэнд)

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
}

3) Подтвердить покупку (бэкэнд)

POST https://www.googleapis.com/androidpublisher/v3/applications/[packageName]/purchases/subscriptions/[subscriptionId]/tokens/[token]:acknowledge

{
  "developerPayload": null
}
  • Ответ 200 (пустое тело)

4) Ждать уведомления о продлении (бэкэнд)

  • Получено в 1584703361173 эпоха миллис // "2020-03-20T11:22:41.173Z"
{
  "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
}

Пришло уведомление 10 секунд позже оригинального опыта iration time!

Единственное различие, о котором я знаю, это другая версия GPBL в клиенте Android и вызов подтверждения покупки, требуемый для GPBL 2 .

Отложено только первое уведомление о продлении. Последующие уведомления о продлении принимаются вовремя, за 2 минуты до истечения срока действия.

Вопрос:

Есть ли что-то, чтобы получить первое уведомление о продлении до истечения срока действия?

Спасибо за любой намек или совет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...