2011-01-30 8 views
8

Chciałbym dodać dwie wersje mojej aplikacji do Android Market, jedną za kilka groszy i jedną darmową wersję z reklamami. To bardzo powszechna praktyka.W jaki sposób udostępniasz dwie wersje aplikacji na rynku?

Obecnie tworzę aplikację AdMod w mojej aplikacji i wydaje mi się, że będę musiał zmienić kilka plików, więc najlepiej jest zrobić dla niej osobną wersję mojej aplikacji.

Jak to osiągnąć? Gałąź? Różne repozytorium? Czy ktoś znalazł sposób na utrzymanie obu aplikacji w tym samym repozytorium w rozsądny sposób?

Tytuł nie jest błędnie napisany, mam na myśli "zrealizować", tj. Jak ludzie zarządzają dwiema wersjami, a nie jak dodają je do rynku.

Odpowiedz

8

Tego rodzaju rzeczy to kompletny koszmar - niestety system budowania Androida tak naprawdę nie wspiera go w żaden dobry sposób.

Robimy to poprzez posiadanie 99% kodu naszej aplikacji w projekcie bibliotecznym. Następnie tworzymy jeden projekt aplikacji dla każdej innej wersji aplikacji, z których każda korzysta z tej biblioteki.

Tam, gdzie potrzebujemy różnych wersji aplikacji, aby zachowywać się inaczej, obecnie osiągamy to dzięki różnym zasobom, które są sprawdzane w środowisku wykonawczym. Jesteśmy jednak w trakcie przechodzenia do Injection Dependency Injection przez RoboGuice.

Są to elementy, które działają dość dobrze, a inne nie. Konieczne jest na przykład zduplikowanie pliku AndroidManifest.xml, który może być podatny na błędy (łatwo jest na przykład dodać nowe działanie do jednego manifestu i zapomnieć o tym w innych). To niestety bałagan, ale najmniej złym rozwiązaniem, jakie znaleźliśmy.

Osobiście zdecydowanie odradzam używanie gałęzi do osiągnięcia tego efektu. Mogą początkowo dobrze pracować, ale szybko staną się koszmarem utrzymania.

Jedną z korzyści po skorzystaniu z biblioteki jest to, że znacznie ułatwiamy testowanie. Na przykład, jak to ustawić, patrz:

http://www.paulbutcher.com/2010/09/android-library-project-with-tests-step-by-step/

+0

Myślę, że Google w pewnym momencie zaleca użycie bibliotek do tego. –

+1

Projekt biblioteki to droga, a ja nie powiedziałbym, że to w ogóle koszmar. Działa idealnie na coś takiego. Może to pomóc w uruchomieniu zbyt http://developer.android.com/guide/developing/eclipse-adt.html # libraryProject – schwiz

+0

Dobra odpowiedź i bardzo dobry link schwiz! Tak właśnie zaleca Google. – Metric

2

Ludzie zazwyczaj przesyłają je dwa razy (jak dwa różne programy) i po prostu modyfikują tytuł, aby dodać coś w rodzaju Bez reklam, Darowizna i podobne rzeczy. A w bezpłatnej wersji wystarczy dodać bezpłatną etykietę, a także umieścić opis, że jest obsługiwany przez reklamy.

Oto przykład z aplikacją Popup SMS:

SMS Popup Versions Side-by-Side

na rynek Android, są one uważane za różne programy, ale dla nas to samo, ale jedno jest Ad-Supported a druga nie jest.

+0

myślę Oznacza on, jak utrzymać rozwój dwóch wersjach łatwe. Nie musi więc modyfikować obu programów osobno, tylko dlatego, że chce mieć dwie wersje. Zakładam też, że obie wersje są praktycznie takie same, poza reklamami. – ontrack

+0

Tak, ontrack ma rację. Ale ktoś zmienił tytuł i tym samym zmienił pytanie, więc nic dziwnego, że Nathan pomylił się ... – Metric

Powiązane problemy