2014-09-14 14 views
6

Wdrażam aplikację, która będzie zawierać subskrypcję w aplikacji. Subskrypcja jest odnawiana co miesiąc. Gdy użytkownik kupuje subskrypcję, otrzymuje bezpłatną 30-dniową wersję próbną. Rozumiem, że mam dostęp do wartości purchaseDate z zwróconego JSON, ale mam kilka pytań na ten temat:Czy aktualizacja daty zakupu subskrypcji Androida w aplikacji z każdą miesięczną odnogą?

Kiedy subskrypcja osoby się odnawia, czy data zakupu/data zakupu jest aktualizowana do daty/godziny odnowienie? Czy zawsze pozostaje oryginalna data zakupu?

Próbuję znaleźć najlepszy sposób buforowania tego lokalnie w aplikacji, tak aby mieć tylko czek przy użyciu GetPurchases kilka razy w miesiącu w czasie odnawiania, czy są jakieś dobre przykłady lub najlepsze praktyki. może pójść?

Proszę nie odpowiadać, zamieszczając link do dokumentacji. Wiem, gdzie to znaleźć i przeczytałem już :)

Odpowiedz

-1

Oto moje obecne przypuszczenie na ten temat, że nie byłem w stanie znaleźć dobrego doktora albo.

Wierzę, że prosta odpowiedź jest taka, że ​​data zakupu jest pierwotną datą zakupu, a nie datą odnowienia.

Innymi słowy, jeśli subskrypcja rozpoczęła się 1 marca, a kupujesz w lipcu, data zakupu będzie nadal 1 marca, mimo że było kilka odnowień.

Możesz powiedzieć, że subskrypcja jest aktywna z getPurchaseState() = "0" (Zakupione), "1" = Anulowano, "2" = Zwrócono.

Aby poznać datę ważności, użyj Dnia miesiąca z Daty zakupu i znajdź następne wystąpienie tego Dnia miesiąca. Na przykład, jeśli dziś jest 15 lipca, a getPurchaseState() = "0", data wygaśnięcia musi wynosić 1 sierpnia.

Wszystkie powyższe elementy to trochę zgadywania. Szkoda, że ​​nie mogłem znaleźć dobrego doktora na ten temat.

+0

ta metoda myślę zaniedbuje stan, w którym użytkownik anuluje, ale wciąż ma czas na lewo od ich zapisania. Uważam, że tylko Prawdziwym sposobem na to jest wysłanie zapytania do interfejsu API programisty Google Play i uzyskanie tam informacji o subskrypcji – Brian

+0

Nie jest on ignorowany, bardziej przypomina to, że nie mogliśmy znaleźć dobrej odpowiedzi na pytanie o to, jakie dokładnie informacje są dostępne. konkretnie o znaczeniu zapytania o API programisty Google Play? możesz pokazać kilka linii kodu, które mogą być użyte. Aby móc rozwiązać kwestię anulowania, musisz wiedzieć, że informacje o subskrypcji pozostają dostępne po anulowaniu? Jak długo pozostaje dostępny? –

+0

Interfejs API, który musisz wywołać w Google, aby uzyskać te informacje, znajduje się tutaj: https://developers.google.com/android-publisher/api-ref/purchases/subscriptions#resource-representations. Jeśli wywołasz metodę "Get", zwrócony zostanie zasób, który wyświetla czas rozpoczęcia i czas wygaśnięcia. Czas rozpoczęcia jest początkiem sub, a wygaśnięcie to czas, w którym przestaje być aktywny. Jeśli to nadal daje zero sensu (byłem zdezorientowany przez długi czas), wtedy mogę zrobić lepszy zapis w odpowiedzi tutaj. Dokumenty Google są przerażające. – Brian

0

Metoda getPurchases(), o której mowa here, pobiera tylko nieukończone zakupy. W związku z tym, jeśli Twoja aplikacja zauważy, że użytkownik nie ma zakupu (żadne zakupy nie zostały zwrócone z "getPurchases()", ale mają one dane o zakupie (has_purchase, buy_token, itp.) W DB Twojej aplikacji, to znalazłeś wygasłe zakup, więc usunąć wszystkie informacje o zakupie w DB dla tego użytkownika.

nadzieję, że pomoże.