API за разработчици на Google Play: startTimeMillis се актуализира, когато не трябва

Разработвам приложение с абонаменти в приложението. На нашите сървъри проверявам валидността на всеки абонамент чрез API за разработчици на Google Play.

Както е посочено в документите, заявка до крайната точка Purchases.subscriptions връща нещо подобно:

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

Въпреки това откривам някакво странно поведение с него. Когато потребител анулира абонамент чрез приложението Google Play, полето „startTimeMillis“ се актуализира до часа на анулирането.

Според документацията "startTimeMillis" е "Времето, в което е предоставен абонаментът", така че очаквах, че тази стойност не трябва да се променя. Може ли някой да ми обясни защо се актуализира след анулиране?

Имам още един важен въпрос, който все още не мога да тествам... Може ли някой, който е прекарал няколко месеца работа с абонаменти, да ми каже дали този "startTimeMillis" също се актуализира, когато абонаментът се подновява автоматично? Очаквам също, че това не трябва да се променя, но... сега не съм сигурен в това.

Благодаря ти


person blindOSX    schedule 11.12.2014    source източник
comment
успяхте ли да разберете това? Току-що започнах да работя върху това. Така че ще бъде полезно.   -  person Chantz    schedule 15.08.2015
comment
@blindOSX разбра ли дали има актуализации при подновяване?   -  person Alveoli    schedule 02.12.2015
comment
За да отговорите на въпроса за подновяване, отговорът е ДА, вижте: stackoverflow.com/questions/29802885/   -  person Alveoli    schedule 02.12.2015


Отговори (1)


Имах подобен проблем и открих, че:

  1. Когато потребител анулира абонамента, startTimeMillis няма да се промени, само автоматичното подновяване се промени на false

  2. Ако потребителят се абонира отново след анулирането, google ще ви изпрати нов токен за абонамент, но при запитване с предишния токен, отговорът ще бъде променен на същия като новия токен, т.е. startTimeMillis ще бъде променен

person Bood    schedule 27.03.2016