API разработчика Google Play: «startTimeMillis» обновляется, когда он не должен

Я разрабатываю приложение с подписками в приложении. На наших серверах я проверяю действительность каждой подписки через API разработчика Google Play .

Как указано в документах, запрос к конечной точке Purchases.subscriptions возвращает что-то вроде этого:

{ "kind": "androidpublisher#subscriptionPurchase", "startTimeMillis": long, "expiryTimeMillis": long, "autoRenewing": boolean } 

Тем не менее, я нахожу с ней какое-то странное поведение. Когда пользователь отменяет подписку через приложение Google Play, поле «startTimeMillis» обновляется до момента отмены .

Согласно документации, «startTimeMillis» – это «Время, в которое была предоставлена ​​подписка», поэтому я ожидал, что это значение не должно меняться . Может ли кто-нибудь объяснить мне, почему он обновляется после отмены?

У меня есть еще один важный вопрос, который я еще не могу проверить … Может ли кто-то, кто провел несколько месяцев с подписками, сказать мне, обновляется ли этот «startTimeMillis» , когда подписка автоматически возобновляется ? Я тоже ожидаю, что это не должно измениться, но … теперь я не уверен в этом.

спасибо

Имел аналогичную проблему и обнаружил, что:

  1. Когда пользователь отменяет подписку, startTimeMillis не будет изменен, только autoRenewing изменится на false

  2. Если пользователь снова подписывается после отмены, Google отправит вам новый токен подписки, но при запросе с предыдущим токеном ответ будет изменен так же, как новый токен, то есть startTimeMillis будет изменен