2013-10-15 7 views
26

Rozważam zmianę mojej płatnej aplikacji iOS na bezpłatną, dzięki czemu będzie ona dostępna pod numerem ad based, a opcja in-app purchase umożliwia usunięcie reklam.Zmieniaj płatną aplikację za darmo, ale wiedz, czy użytkownik ją wcześniej kupił.

To brzmi jak dobry pomysł, jeśli dopiero uruchamiałem aplikację, ale mamy ponad 30 tys. Płatnych pobrań i nie chcę, aby ci użytkownicy kiedykolwiek zobaczyli reklamy po aktualizacji do nowej wersji, która jest bezpłatna.

Czy mam tu jakieś opcje?

+1

Czy przechowujesz coś w domyślnych ustawieniach użytkownika/pęku kluczy? – Wain

+0

Tak, zapisując, czy używają metryk, czy nie. –

+4

Nie przerzuciłbym się za darmo, 30k jest dobry :-) –

Odpowiedz

-3

Niezupełnie, nie. Najlepiej jest opublikować aktualizację, gdy jest to nadal płatna aplikacja, która zapisuje wartość dla NSUserDefaults (lub pliku w katalogu danych aplikacji, nie ma znaczenia, który), który wskazuje, że został zakupiony. Poczekaj tydzień lub jak długo chcesz, a następnie opublikuj aktualizację, która usunie ten kod, w wyznaczonym czasie do wydania w tym samym dniu, w którym cena zmieni się na bezpłatną.

-1

Jedyną opcją jest wydanie dwóch aktualizacji. Pierwszy napisze wartość do NSUserDefaults identyfikując je jako kupującego. Druga aktualizacja to wersja z reklamami, która może odczytać tę wartość identyfikującą nabywcę i ukryć reklamy.

+0

Tak, ale to by nie działało, gdyby ktoś kupił w przeszłości, a następnie ponownie pobrał aplikację w przyszłości po wydaniu darmowej wersji. –

+0

@NicHubbard, co jest praktycznie niemożliwe do zrealizowania automatycznie. Będziesz musiał zaoferować ścieżkę uaktualnienia dla tych użytkowników, którzy użyli niestandardowego schematu URL lub czegoś podobnego. – Wain

+0

@NicHubbard Czy bieżąca wersja pisze cokolwiek do NSUserDefaults, pęku kluczy lub katalogu dokumentów? Możesz sprawdzić w wersji darmowej ** przed ** aplikacja zapisuje cokolwiek do trwałej pamięci. – neilco

1

Jeśli bieżąca aplikacja ma jakiekolwiek dane w ustawieniach domyślnych użytkownika lub w pęku kluczy, może to być wskaźnik. Gdy aplikacja jest pierwszy otwarty (w nowej wersji) uruchomić kawałek kodu, który:

  1. Sprawdza danych w defaults/pęku kluczy
  2. W przypadku stwierdzenia, włączyć płatne treści/wyłączyć reklamy
  3. Przenieś te dane do nowego klucza (aby nie uaktualniać ponownie/nie udostępniać darmowych rzeczy).
+0

Tak, myślę, że to nie zadziała. Ponieważ niektórzy użytkownicy mogą nie aktualizować się przez jakiś czas, a następnie w końcu przejść na drugą "darmową" wersję, która złamie scenariusz. –

+0

Jak to zrobić? Chodzi o to, że każdy, kto używa starej aplikacji, będzie miał oryginalny klucz. Każdy, kto został uaktualniony lub zainstalowany w nowej wersji, będzie miał nowy klucz. – Wain

+5

Załóżmy, że aplikacja miała rok temu, i skasowaliśmy ją od tego czasu, a także nowy iPhone. Przechodzą do listy "Zakupione" i ponownie pobierają moją aplikację, ponieważ wcześniej ją kupili. Nie widzę sposobu, żeby wiedzieć, że za to zapłacili. –

62

Od wersji iOS 7 można to zrobić za pomocą odpowiedniego sprawdzania poprawności odbioru. W systemie iOS 7 można uzyskać potwierdzenie zakupu. Część danych w paragonie zawiera informacje o oryginalnej wersji zakupowej aplikacji przez użytkownika. Możesz spojrzeć na tę wersję i jeśli pochodzi sprzed opublikowania aktualizacji do bezpłatnej z IAP, możesz zdecydować, aby dać użytkownikowi pełną funkcjonalność bez konieczności ponownego zakupu.

Oczywiście, jeśli chcesz, aby zaktualizowana aplikacja działała pod systemem iOS 6, nie jest to możliwe.

Aby uzyskać szczegółowe informacje na temat sprawdzania poprawności odbioru, patrz: Receipt Validation Programming Guide.

+0

To brzmi jak świetny pomysł, ale muszę poprzeć powrót do iOS5. –

+0

Należy pamiętać, że użycie systemu iOS 5 jest niewielkie w porównaniu z wersjami 6 i 7. – rmaddy

+11

Skorzystaj z tego i nie wyświetlaj reklam w systemie iOS5/6. –

0

Wundernt łatwiej będzie zaoferować darmowy zakup inanpp przy uruchomieniu w płatnej aplikacji. Przycisk z napisem "Upgrade". A następnie zmienić to bezpłatne inapp, aby zapłacić przy następnej aktualizacji?

+1

To byłby problem dla osób, które już kupiły aplikację, ale ją usunęły. Jeśli ponownie pobiorą go za kilka miesięcy, a więc opuścili wersję aplikacji za pomocą przycisku "uaktualnienia". Po prostu zainstalują aktualizację i będzie to bezpłatna wersja, która oczywiście zawiera reklamy. –

-1

W iTunes connect możesz generować kody promocyjne dla zakupów aplikacji. Możesz utworzyć element IAP dla funkcji premium i przekazać go jako promocję dla kupujących ręcznie. To nie jest automatyczne rozwiązanie, ale może uchronić Cię przed bólem głowy.