Jak to działa? - Aplikacja jest subskrypcją usługi działającej na wielu platformach. W przypadku iPhone'a początkowy zakup zapewni Ci 30 dni pełnej funkcjonalności, a następnie po 30 dniach nie będziesz mógł wykonywać zadań dopóki nie kupisz subskrypcji z zakupem aplikacji.Wykryj pierwszą instalację w systemie iOS NOT NSUserDefaults
Co potrzebuję - Muszę wiedzieć, czy to był pierwszy raz, abym mógł dodać informacje o użytkownikach do bazy danych. Lub dlatego, że jest to platforma krzyżowa, być może zapłacili już za subskrypcję, więc muszę dodać 30 dni do już istniejącej subskrypcji użytkownika.
Co robię teraz - Obecnie jestem przechowywania identifierForVendor w zdalnej bazy danych oraz w NSUserDefaults jest bool sprawdził 1. Jeżeli jest to pierwsze uruchomienie i 2. jeżeli jest to pierwszy bieg do pozwól użytkownikowi dodać się do bazy danych przez 30 dni pełnego wykorzystania lub dodać 30 dni do swojej obecnej subskrypcji.
Problem - Problem polega na tym, że jeśli użytkownik usunie aplikację, a następnie ponowne zainstalowanie go na NSUserDefaults zostaną usunięte zbyt, a identifierForVendor zmieni i że pozwoli użytkownikowi dodać kolejne 30 dni na ich abonamentu za darmo po prostu usuwając i ponownie instalując aplikację.
Idealne rozwiązanie Pierwotnie chciałem zrobić abonament dla aplikacji, ale nie wiedziałem, jak sprawdzić rachunek po zakupie aplikacji i wstawić użytkownika do zdalnej bazy danych. Również nie wiem, jak skonfigurować subskrypcję, która nie jest zakupem w aplikacji. Zastanawiałem się również nad uwolnieniem aplikacji, a następnie mogą skorzystać z zakupu w aplikacji, aby kupić usługę, ale aplikacja jest bezużyteczna bez możliwości połączenia się ze zdalnym serwerem w celu zebrania danych.
Bottom Line chciałbym wykonać jedną z następujących czynności
- złożenia zapisu na pierwszym zakupie (muszę być w stanie wykryć, czy zakup jest ważny, więc mogę wejść do informacji o użytkowniku do zdalnej bazy danych)
- Złóż aplikację za darmo, a następnie użyj w Zakupie aplikacji, aby dodać subskrypcję (Czy można mieć darmową aplikację, która nic nie zrobi, dopóki nie zasubskrybujesz?)
- Pozostaw to, co jest teraz (ale znajdź bardziej trwałe rozwiązanie dla identyfikatoraForVendor i identyfikatoraForAdv ertising nie zadziała, ponieważ można go wyłączyć)
Dlaczego nie przechowywać rzeczy w pęku kluczy? To powinno być trwałe. –
http://stackoverflow.com/questions/13602125/how-to-find-the-app-downloaded-date-in-appstore/13602197#13602197 –
Zdecydowanie polecam dokładne zapoznanie się z wytycznymi sklepu Apple App Store. Model subskrypcji, który opisujesz, jest mało prawdopodobne. – duskwuff