2013-05-02 9 views
5

Mam aplikację na iOS (i stronę internetową). Powinna istnieć opcja użytkownika premium, np. Użytkownik ma dostęp do specjalnych treści, jeśli jest użytkownikiem premium. Użytkownicy mogą stać się użytkownikami premium w okresach miesięcznych lub rocznych.Czy powinienem utworzyć abonament na materiały zużywalne lub nieodnawialne dla konta premium?

Pierwsze pytanie - czy Apple zezwala na oferowanie przez ten obiekt tych samych produktów do zakupu na stronie internetowej, a także za pośrednictwem InAppPurchase (zgodnie z zasadami firmy Apple - w aplikacji nie będzie żadnego połączenia ani wskazania, można kupić na stronie internetowej). Tak więc, jeśli użytkownik kupuje konto premium za pośrednictwem InAppPurchase, może zalogować się do witryny, a także do użytkownika premium i na odwrót.

Jeśli jest to dozwolone, czy lepiej jest wdrożyć funkcję użytkownika premium przy użyciu produktu typu materiałów eksploatacyjnych i czy serwer zarządza wszystkimi funkcjami lub korzysta z nieodnawialnych subskrypcji?

eksploatacyjnego Podejście Wykonaj InAppPurchase a następnie wysłać żądanie do serwera mówiąc, że bieżący użytkownik jest użytkownikiem premia za miesiąc/rok, a następnie za każdym razem uruchamiania ich aplikacji/użytkownika firma zadzwonić API w celu sprawdzenia, czy bieżący użytkownik jest użytkownikiem premium lub nie.

Podchwytliwe przypadki do obsługi to 1. Gdy użytkownik korzysta z aplikacji dokładnie wtedy, gdy wygasa jego status użytkownika premium. 2. Jeśli sieć wyłączy się zaraz po zakończeniu InAppPurchase, a żądanie na serwer jest niekompletne.

Nieodnawialne podejście do subskrypcji Nie jestem pewien, jak to działa, ale przypuszczam, że byłby podobny do tego, który można zużyć.

Które z tych dwóch podejść byłoby lepsze do przywrócenia poprzednich transakcji?

Odpowiedz

5
  1. Tak jak najdłużej zapewnić funkcję premii w aplikacji (w naszej aplikacji na Facebooku związaną z iOS jednej wdrożyliśmy Facebook kredytów na takich samych cechach, na przykład)
  2. naszej aplikacji (który był przy użyciu materiały eksploatacyjne w aplikacji, aby umożliwić korzystanie z funkcji premium) zostały odrzucone kilka razy, dopóki nie przełączyliśmy się na subskrypcję nieodnawialną. Funkcja premia miała termin i przyczynę Jabłko odrzucił ją, że jeśli funkcja Premium obejmuje czasu innego niż dodatkowe funkcje trzeba użyć nieodnawialną subskrypcji ponieważ jest to jego celem

Tricky przypadki w rzeczywistości nie są tak trudne. Po pierwsze, czy aplikacja ma odzyskać czas wygaśnięcia z serwera (zapisałeś go po zakupieniu abonamentu? ;-)), a kiedy użytkownik próbuje użyć funkcji premium, zaimplementuj czek, aby upewnić się, że nadal jest dozwolony. Po drugie, zapisz zakup w telefonie, a następnie wyślij potwierdzenie na serwer do sprawdzenia poprawności. Tylko wtedy, gdy serwer jest osiągalny i mówi, że paragon jest ważny, usuń go z telefonu. W przeciwnym razie możesz sprawdzić przy uruchomieniu, jeśli w telefonie zapisane są niewysłane potwierdzenia, które powinieneś wysłać do serwera w celu sprawdzenia poprawności.

+0

Wielkie dzięki Andre! Jeszcze jedno, aby śledzić czas trwania użytkownika premium, czy powinniśmy śledzić za pośrednictwem wywołania API na serwerze, czy też powinniśmy sprawdzić samą aplikację za pomocą czasu transakcji. Jak mamy obsługiwać wiele kont, np. Czy użytkownik wykonuje InAppPurchase, a następnie loguje się na inne konto? – vivek241

+1

Proponuję śledzić czas trwania wywołania API na twój serwer. W przypadku wielu kont subskrypcje nieodnawialne są powiązane z użytkownikiem, który je kupił, a serwer jest tego świadomy.Jeśli więc identyfikator jabłka, który właśnie kupił produkt premium, wyloguje się i zaloguje się z innego konta, funkcje premium powinny zostać wyłączone. – andreagiavatto

+0

Identyfikator Apple ID jest taki sam, ale użytkownik loguje się i loguje na inne konto w aplikacji. Jak sobie z tym poradzimy? – vivek241

Powiązane problemy