2012-02-22 9 views
5

Próbuję użyć sklepu otrzymanie iOS aby odróżnić zakup i ponownie pobiera, na podstawie original_purchase_date i/lub original_transaction_id. Bez względu na to, czy transakcja jest nowym zakupem czy ponownym pobraniem, potwierdzenie zakupu zawsze zwraca nową original_purchase_date, która jest równa wartości purchase_date.dowód zakupu w aplikacji iOS nie zwrócenie original_purchase_date na ponownie pobrać

Oto prawdziwy sklep paragon wróciłem (który jest ponownie pobrać z istniejącego w app zakupu - tak jak Ja obecnie konieczności polegać na śledzeniu UDID aby odróżnić je od siebie)

{ 
    "product_id": "com.myproduct.id", 
    "original_purchase_date_ms": "1329825956382", 
    "purchase_date_ms": "1329825956382", 
    "original_purchase_date": "2012-02-21 12:05:56 Etc/GMT", 
    "purchase_date":   "2012-02-21 12:05:56 Etc/GMT", 
    "bvrs": "1.0", 
    "original_purchase_date_pst": "2012-02-21 04:05:56 America/Los_Angeles", 
    "purchase_date_pst":   "2012-02-21 04:05:56 America/Los_Angeles", 
    "original_transaction_id": "1000000028387131", 
    "transaction_id":   "1000000028387131", 
    "item_id": "452671574", 
    "quantity": "1", 
    "bid": "com.mybundle.id" 
} 

Niezależnie od tego, czy Używam URL sandbox i testowanie z iTunes testowych połączyć konto, lub czy jego zakup za pomocą live na żywo URL weryfikacji paragonu wartości te są zawsze identyczne:

original_purchase_date_ms == purchase_date_ms 
original_purchase_date == purchase_date 
original_purchase_date_pst == purchase_date_pst 
original_transaction_id == transaction_id 

jestem źle myśląc, że te to, co powinieneś użyć, aby powiedzieć różnicę między nowym zakupem a ponownym zakupem tego samego zakupu? Oczywiście śledzenie identyfikatora UDID urządzenia/tworzenie GUID aplikacji i śledzenie go jest jednym ze sposobów, aby to zrobić, ale nie jest wystarczająco dokładne (np. Użytkownicy, którzy mają wiele urządzeń). identyczny?

Każda pomoc w tej sprawie jest bardzo cenna! Wyczerpałem wszystkie inne trasy i mam nadzieję, że ktoś tu zna odpowiedź.

Odpowiedz

1

To zależy od tego, co masz na myśli przez "ponownie pobrać".

original_purchase_date powinny różnić się od purchase_date tylko wtedy, gdy jesteś przywrócenie zakupu, więc SKPaymentTransaction zwraca Ci SKPaymentTransactionStateRestored. Jeśli tak, coś jest nie tak.

W przeciwnym razie, na przykład, jeśli wykupujesz zakup materiałów eksploatacyjnych, te daty będą takie same przez cały czas i wszystko jest w porządku.

+0

Cześć, dziękuję za odpowiedź. Tak, miałem na myśli przywrócenie oryginalnego zakupu - więc gdy ktoś usunie aplikację z telefonu, pobieranie aplikacji również zostanie usunięte - gdy ponownie zainstalują ją i przywrócą zakupy w aplikacji - domyślam się, że pierwotna data zakupu powinna być inna od daty zakupu - jednak we wszystkich przypadkach są one dla mnie takie same. – user1225584

+1

Jeśli masz subskrypcję z automatycznym odnawianiem, data_wydruku oryginalnego powinna być datą zakupu pierwszego okresu. –

Powiązane problemy