Я не смог найти точное решение, но есть обходной путь (довольно надежный), использующий уведомление разработчика в реальном времени для обработки статуса, связанного с подпиской:
Вам следует начать со следующего руководства: https://developer.android.com/google/play/billing/billing_subscriptions#Handle-states
, а затем следуйте руководству по добавлению уведомлений разработчика в режиме реального времени: https://developer.android.com/google/play/billing/realtime_developer_notifications
Таким образом, в основном, оно уведомляет вас, когда изменяется состояние любой подписки, управляемой игрой, и вы получаете флаги типа SUBSCRIPTION_RENEWED
, SUBSCRIPTION_PURCHASED
, SUBSCRIPTION_CANCELED
и т. Д. В этом push-уведомлении.
Итак, вы можете добавить все записи подписки на ваш сервер (или как бы вы ни управляли ими) как ожидающие и обрабатывать все обновления, используя реальныевремя разработки уведомлений.
Например: Пользователь A обновил подписку, но подтверждение платежа может занять 24 часа, поэтому у вас есть эта запись в ожидании (по умолчанию), и между ними пользователь решает отменить эту подписку, чтобы вы моглиполучить флаг SUBSCRIPTION_CANCELED
, и пользователь снова решает отозвать эту учетную запись, чтобы вы могли получить флаг SUBSCRIPTION_REVOKED
; вы можете обновить свою запись, поскольку пользователь повторяет этот процесс снова и снова.
Это может показатьсянемного сбивает с толку, но чтение документов может расчистить путь.
Надеюсь, это поможет, дайте мне знать результат.