2014-12-11 31 views
7

Pracuję nad aplikacją z subskrypcjami w aplikacji. Na naszych serwerach sprawdzam poprawność każdej subskrypcji za pośrednictwem Google Play Developer API.Google Play Developer API: "startTimeMillis" jest aktualizowany, gdy nie powinien

Jak stwierdzono w docs, wniosek do punktu końcowego Purchases.subscriptions, zwraca coś takiego:

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

Jednak jestem znalezieniem niektóre dziwne zachowanie z nim. Gdy użytkownik anuluje subskrypcję za pośrednictwem aplikacji Google Play, pole "startTimeMillis" jest aktualizowane do czasu anulowania.

Zgodnie z dokumentacją "startTimeMillis" to "Czas, w którym subskrypcja została przyznana", więc oczekiwałem, że ta wartość nie zmieni się. Czy ktokolwiek mógłby mi wyjaśnić, dlaczego jest aktualizowany po anulowaniu?

mam inne ważne pytanie, że nie można jeszcze przetestować ... Czy ktoś, kto spędził kilka miesięcy pracy z abonamentów, powiedz mi, czy to „startTimeMillis” jest aktualizowana zbyt gdy subskrypcja jest automatycznie odnawiana? Spodziewam się też, że to się nie zmieni, ale ... teraz nie jestem tego pewien.

Dziękuję

+0

byłeś w stanie to rozgryźć? Właśnie zacząłem nad tym pracować. Będzie to pomocne. – Chantz

+0

@blindOSX czy dowiedziałeś się, czy aktualizacje są odnawiane po odnowieniu? – Alveoli

+0

Aby odpowiedzieć na pytanie odnowienia, odpowiedź brzmi TAK, zobacz: http://stackoverflow.com/questions/29802885/using-an-old-token-to-query-purchases-subscriptions-in-the-google-play- deweloper – Alveoli

Odpowiedz

2

Gdyby podobny problem i okazało się, że:

  1. Gdy użytkownik anuluje subskrypcję, startTimeMillis nie zostaną zmienione, tylko autoRenewing zmieniony na fałszywej

  2. Jeżeli użytkownik zasubskrybuje ponownie po anulowaniu, Google wyśle ​​ci nowy token subskrypcji, ale podczas odpytywania z poprzednim tokenem odpowiedź zostanie zmieniona na to samo co nowy token, czyli startTimeMillis zmienił się