Lista „Do zrobienia” przed opublikowaniem aplikacji na Androida na rynku [zamknięte]

317

Jestem prawie gotowy opublikować moją pierwszą aplikację na Android Market i chciałbym wiedzieć, czy ktoś z was ma jakieś wskazówki na temat jakichkolwiek doświadczeń, które można napotkać w związku z publikacją aplikacji, która wykracza poza oczywiste i już udokumentowane.

Wszelkie ukryte zastrzeżenia i / lub pomysły na temat tego, co zrobić przed opublikowaniem aplikacji na rynku? Na przykład mój kumpel zalecił, żebym usunął wszelkie komentarze z mojego kodu na wypadek, gdyby ktoś dostał się do kodu źródłowego, co utrudni niedoszacemu „jackerowi” rozszyfrowanie kodu. Myślałem, że to rozsądna sugestia.

Co należy zrobić przed opublikowaniem aplikacji w Android Market?

dell116
źródło
1
Wykaz został właśnie opublikowany w oficjalnej dokumentacji dla zapewnienia Ci spełniają podstawowe oczekiwania użytkowników tabletu.
Jeff Axelrod,
48
Dziwne, że to nie jest konstruktywne i uzyskało 16K wyświetleń lol
wymaga_once
61
Zamknięcie tak konstruktywnego pytania, jak „niekonstruktywne”, jest surowym przykładem tego, dlaczego polityka moderacji Stackoverflow powinna zostać zmieniona!
Orion
7
Musisz się upewnić, że Twoja aplikacja jest bogata w słowa kluczowe i przeprowadzić badanie słów kluczowych przed opublikowaniem. Zobacz, jak korzystałem z narzędzia Google Trend do badania słów kluczowych
NabeelSaleem,
2
Przestrzegaj zasad programistów Google Play i upewnij się, że twoja aplikacja niczego nie narusza, musisz być bardzo ostrożny z Google, to bardzo boli, gdy jesteś w chmurze 9 z 2 milionami pobrań i nagle twoja aplikacja zostaje zawieszona, ponieważ nie sprawdziłeś ich zasad.
Yauraw Gadav

Odpowiedzi:

339

Mam nadzieję, że nie jest za późno, oto kilka porad:

  • Uruchom aplikację pod koniec tygodnia (czwartkowe popołudnie to zazwyczaj dobry moment). Dlaczego tak? Cóż, żadna firma nie chciałaby opublikować aplikacji tylko 1,5 dnia przed końcem tygodnia -> zbyt niebezpieczna (w przypadku problemu, który wymaga szybkiego czasu reakcji).

  • Użyj proguard na swojej aplikacji (zwykle wystarczy dodać tę linię: proguard.config=proguard.cfgw default.propertiespliku). Pozwoli to zoptymalizować, zmniejszyć i zaciemnić kod, co jest bardzo przydatne w zapobieganiu złodziejom kodu. Nie musisz usuwać żadnych komentarzy, są one automatycznie usuwane podczas kompilacji.

  • Zoptymalizuj swoje zdjęcia (za pomocą Paint.NET , PNGCrush lub OptiPNG ).

  • Zoptymalizuj układ pod kątem większości rozmiarów ekranu. Możesz to zrobić, zmieniając rozmiar ekranu podczas edycji układu w AndroidStudio lub Eclipse.

  • Spróbuj / wyłapać wszystkie wyjątki w interfejsie użytkownika i wyświetlić prosty toast, który wskazuje użytkownikowi, że coś się stało. W międzyczasie pobierz błąd za pomocą Crashlytics lub czegoś podobnego.

  • Nie używaj zbyt wiele bibliotek .jar, preferuj projekty bibliotek (optymalizuj rozmiar kodu) i dodawaj je za pomocą gradle.

  • Preferuj używanie obrazów wektorowych, ponieważ zmniejszy to rozmiar pliku APK i będzie poprawnie pasował do wszystkich urządzeń.

  • Nie używaj okien preferencji Androida -> to nie jest naprawdę piękne, nawet jeśli jest to w wytycznych Androida, wolisz tworzyć własne strony ustawień. Ale jeśli zachowujesz preferencje Androida: rozważ dodanie ikon i kolorów.

  • Nie pokazuj tytułu swojej aplikacji na ekranie głównym ( this.requestWindowFeature(Window.FEATURE_NO_TITLE);): dobre marki nie muszą zajmować zbyt wiele miejsca na ekranie, aby zostać rozpoznanym (pokaż ikonę lub tytuł w menu lub w innym miejscu, które nie zawsze jest widoczne) i rozważ użycie trybu pełnoekranowego ( this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);) w przypadku gier i bardzo wciągających treści.

  • Używaj Google Analytics , Fabric Answers lub Flurry do przyszłych analiz -> staraj się uzyskać jak najwięcej informacji, ale nie chwytaj niczego, co naruszałoby anonimową tożsamość klienta. Nie zapomnij pobrać wyjątków (błędów i śladów stosu), które zdarzają się po stronie użytkownika.

  • Poproś znajomych o wykonanie testów małp, uczenie się od użytkowników zwykle przynosi wiele dobrych rzeczy (takich jak priorytety i nowe pomysły).

  • Zastanów się nad opublikowaniem aplikacji przed ukończeniem wszystkich funkcji (tylko najważniejsza funkcja), nie wiesz już, czego użytkownicy będą chcieli lub potrzebują oprócz głównej funkcji.

  • Dodaj sekcję „Więcej aplikacji” lub „Więcej od programisty” w swojej aplikacji, czyli bezpłatne reklamy.

  • Dodaj sekcję „Prześlij opinię”, aby umożliwić użytkownikowi zapytanie o nową funkcję lub zgłoszenie błędu.

  • Poproś użytkowników o przetłumaczenie aplikacji, podając plik strings.xml w Internecie, np . Crowdin .

  • Wypróbuj aplikację na każdej wersji Androida za pomocą emulatora - w ten sposób wykryje się wiele błędów lub problemów projektowych. W tym celu możesz użyć dostarczonego emulatora lub zamiast tego użyć Genymotion (Genymotion ma wiele bardzo przydatnych funkcji).

  • Pomyśl o nazwie aplikacji -> jakich słów kluczowych użyłbyś do wyszukiwania swojej aplikacji? Te słowa kluczowe powinny być nazwą Twojej aplikacji (Google pomoże Ci w ten sposób Cię odkryć).

  • Rozważ uwzględnienie słów kluczowych w opisie aplikacji, ale w sposób opisowy (twórz zrozumiałe zdania przy użyciu słów kluczowych). Nigdy nie dodawaj listy słów kluczowych jak w opisie.

  • Jako pierwszy oceń swoją aplikację za 5 gwiazdek i poproś rodzinę i znajomych, aby zrobili to samo -> to prawdopodobnie wpłynie na oceny przyszłych użytkowników.

  • Rozważ użycie Google do przetłumaczenia aplikacji na opis albo na strings.xml albo na oba.

  • Zastanów się nad wyświetlaniem reklam w swoich aplikacjach i skorzystaj z zapośredniczenia, aby zwiększyć swoje przychody AdMob .

  • Zamiast oferować wersję płatną, rozważ rozliczenia w aplikacji -> użytkownicy częściej płacą w aplikacji niż płacą za wersję płatną.

  • Dodaj dziennik zmian w aplikacji -> użytkownicy zazwyczaj lubią wiedzieć, co zmieniło się od ostatniej wersji.

  • Dodaj sekcję „Dziękujemy” dla użytkowników, którzy ci pomogli -> to zainteresuje użytkowników Twoim produktem.

  • Dodaj link „Jeśli podoba Ci się ta aplikacja, oceń ją” (w opisie Google Play) w swojej aplikacji -> otrzymasz więcej 5 gwiazdek (zwykle wyskakujące okienko przy uruchamianiu lub po akcji).

  • Rozważ wyjaśnienie swojego produktu w sekcji „Wskazówki” lub „Instrukcje” w aplikacji.

  • Zapisz informacje o magazynie kluczy i poświadczeniach w bezpiecznym miejscu. W przypadku utraty magazynu kluczy nie będzie można opublikować aktualizacji aplikacji.

  • Spraw, aby twoja ikona była naprawdę prosta i przejrzysta. Ikona jest pierwszą, a przede wszystkim ostatnią rzeczą, która sprawi, że użytkownik pobierze Twoją aplikację.

  • O ile nie jest to możliwe, wybierz instalację zewnętrzną ( android:installLocation="preferExternal"w pliku AndroidManifest.xml).

  • Przeczytaj wskazówki AppAnnie i posty na blogu, podpowie Ci, jak ulepszyć ASO i pomóc lepiej zrozumieć swoich użytkowników.

Mathieu de Brito
źródło
2
jeśli masz problem z testowaniem różnych emulatorów w zaćmieniu, możesz uzyskać emulator genymotion, który jest tak szybszy. również w celu optymalizacji obrazów png www.tinypng.com jest dobrym wyborem
Arash
2
Naprawdę przydatne, ale pamiętaj, że aby zapewnić prawidłowe działanie UX, lepiej mieć ważne powody, aby przejść na pełny ekran. Na przykład, jeśli chcesz, aby użytkownik skupił się na jednym elemencie i usunął wszystkie inne przeszkody na drodze.
whizzkid
1
applicationIdnie można zresetować po opublikowaniu aplikacji. Wiele razy zawiera słowa (takie jak nazwa użytkownika), których nie chcesz ujawniać. Ustaw go w build.gradlepliku swojego projektu w Android Studio.
gsinha
7
Przychodzę do StackOverflow po odpowiedzi na pytania. Moje pytanie brzmiało: „Co powinienem zrobić przed opublikowaniem aplikacji na Androida?” To jedna bardzo przydatna odpowiedź i wyobrażam sobie, że może być wiele innych, więc zamknięcie pytania, ponieważ „Nie konstruktywne” wydaje się mało konstruktywne.
user872985,
2
Dzięki za wskazówki. Chcę wiedzieć jeszcze jedną rzecz. Jeśli ktoś otworzy moją aplikację w sklepie Play, chcę wyświetlić moje aplikacje jako sugestię typu „Więcej od programisty” - czy jest na to sposób
Geethu
47

Naprawdę, nie przejmuj się usuwaniem komentarzy do kodu. Twój kod źródłowy nie trafia do telefonu użytkownika - dostaje się tam tylko skompilowany kod, który nie zawiera żadnych odniesień do twoich komentarzy.

Użytkownicy Androida zazwyczaj doceniają to, że aplikacje są tak małe, jak to możliwe, dlatego sprawdź dokładnie, czy tylko zasoby (obrazy itp.) Są nadal używane w Twojej aplikacji. Użyj OptiPNG / PNGCrush na dowolnych obrazach .png, które masz w swojej aplikacji - może to zmniejszyć rozmiary plików graficznych o około 10%, co może stanowić znaczną część ogólnego rozmiaru aplikacji.

Ponadto użyj edytora audio, takiego jak Audacity, aby maksymalnie zmniejszyć rozmiar dowolnego dźwięku. Wybór mono plików OGG Vorbis jest często najlepszy i brzmi wystarczająco dobrze na telefonie.

teedyay
źródło
1
Jeśli moja pamięć służy mi poprawnie, pomyślałem, że gdzieś przeczytałem, że kiedy pakiet .apk jest spakowany, kod nie jest kompilowany. Zakładam, że .apk zawiera wszystkie pliki źródłowe, tak jak byś zobaczył, gdybyś poszedł do folderu obszaru roboczego projektu dla Eclipse ..... a Dalvik kompiluje kod w locie po uruchomieniu na telefonie?? Mam nadzieję, że się mylę, bo nawet kiedy czytałem artykuł, mówiłem sobie: „to nie jest bezpieczne”. Jestem również członkiem xda-developers.com i wydaje się, że cały czas publikują pliki apk dla aplikacji.
dell116
16
Nie, surowe źródło nie zostaje wysłane. Plik .apk jest tylko ukrytym plikiem .zip, więc zmień jego nazwę i spójrz. Wszystko w / asset i / res / raw jest wysyłane bez zmian, podobnie jak drawable w / res. Pliki XML w / res są w jakiś sposób zniekształcone (może ktoś tu wie, czy są zaszyfrowane, czy tylko skompresowane?). Twój kod źródłowy zostanie skompilowany do klas.dex. Jeśli otworzysz to w Notatniku, zobaczysz, że zawiera on wiele ciągów z kodu źródłowego (nazwy metod i zmiennych itp.), Ale nie zawiera żadnych komentarzy.
teedyay
7
Pliki XML są kompilowane w celu zoptymalizowania ich analizy i nawigacji. istnieją narzędzia do ich dekompilacji.
duże kamienie
@bigstones O jakich programach kompilacyjnych mówimy tutaj?
Robert Massaioli,
@RobertMassaioli Tylko AAPT, odbywa się to automatycznie podczas kompilacji.
duże kamienie
36

Nie martw się o komentarze. Jeśli jednak obawiasz się złośliwego rozpowszechnienia Twojej aplikacji, ZRÓB to przez obfuscator, taki jak ProGuard.

Inne wskazówki, które oferuję:

  • Przygotuj wszystkie grafiki i materiały promocyjne, aby wyprzedzić czas.
  • Czas strategicznie wypuść, gdy nie masz wiele innych rzeczy w życiu (na przykład przed weekendem), abyś miał czas na SZYBKĄ odpowiedź, jeśli pierwsza grupa użytkowników zacznie mieć problemy. Niskie oceny wcześnie mogą cię zabić, ale szybka odpowiedź e-mail i poprawki mogą całkowicie odmienić opinię klienta o Twojej aplikacji.
  • Zgadzam się z wcześniejszymi komentarzami na temat maksymalnego zmniejszania rozmiarów obrazów.
  • Uzyskaj kod do kontroli źródła, jeśli jeszcze nie jest. Na pewno będziesz musiał wydać aktualizacje i poprawki w pewnym momencie, a kontrola źródła może odegrać w tym dużą rolę.
Blumer
źródło
4
+1 za wydanie, gdy masz czas na szybkie naprawienie!
teedyay
Dziękuję za odpowiedź. Jestem pewien, że inni również będą wdzięczni. Używam Eclipse Galileo do stworzenia mojej aplikacji, a inny wątek w SO mówi, że Subversive for Eclipse jest jednym z najłatwiejszych narzędzi kontroli źródła, do których można się przyzwyczaić. W tej notatce witryna Eclipse ma wersję Subversive do pobrania, ale widzę tylko link do wydania Helios. Czy ty lub ktokolwiek inny wie, czy ta wtyczka współpracuje z Galileo?
dell116
Właściwie to nie wiem. Kontrola wersji nie jest zintegrowana z Eclipse, ponieważ nie zadałem sobie trudu, aby ją skonfigurować. Używam TortoiseSVN, gdy jestem w systemie Windows, a narzędzia wiersza poleceń Subversion, gdy jestem na moim Linuxie.
Blumer,
Mówiąc o aktualizacjach, czy to jest tak proste, jak przepakowanie aplikacji zaktualizowanymi plikami i zastąpienie starszego .apk dostępnego na rynku nowym, który ma inny numer wersji? Pamiętam, jak próbowałem ponownie zainstalować moją aplikację na wcześniejszej instalacji (bez odinstalowywania aplikacji w celu przeprowadzenia symulacji „aktualizacji”), ale nie udało się, co sprawiło, że pomyślałem, że może się to zdarzyć, gdy wydam aktualizację . Jednak dla argumentu plik „update” .apk, który zainstalowałem na starej instalacji, nie miał innego numeru wersji w manifeście. Jeszcze raz dziękuję za radę!
dell116
1
Gdy przejdziesz do przesłania nowego .apk do usługi Market, sprawdzi on, czy numer wersji wzrósł od czasu ostatniego razu. Wydaje mi się, że podczas instalowania aktualizacji na urządzeniu NIE sprawdza ona numerów wersji, a raczej instaluje to, co mu powiesz. Wiem, że instalacja zaktualizowanego pliku .apk zakończy się niepowodzeniem, jeśli klucze, którymi podpisano starą i nową wersję, nie są takie same. Najpierw musisz odinstalować stary, a następnie zainstalować aktualizację.
Blumer
32

Nie jestem pewien, czy widziałeś to wcześniej, ale powinieneś ćwiczyć interfejs użytkownika z małpą - moja aplikacja miała tylko jedną awarię, ale nie miałaby żadnej z nich, gdybym najpierw przetestował ją z Monkey.

RivieraKid
źródło
18

Dodam oczywisty, ale ważny: zapisz swój klucz do podpisywania w bezpiecznym miejscu i wykonaj kopię zapasową. Jeśli pozwalasz Eclipse zarządzać tym za Ciebie, zwróć uwagę na miejsce, w którym tworzy on plik kluczy, i zapisz jego kopię zapasową. I nie zapomnij hasła do magazynu kluczy lub indywidualnych kluczy do podpisywania.

Dlaczego: musisz podpisać aktualizacje aplikacji przy użyciu tego samego certyfikatu, którego użyłeś do podpisania oryginału. W przypadku utraty tego certyfikatu (lub utraty dostępu do niego) nie można zaktualizować aplikacji. Musisz utworzyć nowy wpis w Android Market.

zlovelady
źródło
1
Prawie zgubiłem klucz podczas przywracania komputera ... Na szczęście miałem kopię zapasową!
Ruchir Baronia
17

Niektóre punkty, które zwykle zapominam:

  • minSdkVersiondokładnie sprawdź swój manifest
  • przetestuj swoją aplikację na emulatorze za pomocą swojego minSdkVersion
  • pozwól znajomym przetestować Twoją aplikację, aby sprawdzić, czy jest to zrozumiałe

Jeśli zamierzasz dostarczać aktualizacje w swojej aplikacji:

  • możesz dodać jakieś okno dialogowe „Co nowego w tej wersji”
  • wykonaj kopię zapasową starej wersji!
  • nie zapomnij zwiększyć versionCodei versionNamew swoim manifeście
Maaalte
źródło
6
Dobre punkty i zgodnie z tym samym kierunkiem myślenia, jeśli twoja aplikacja korzysta z bazy danych SQLite, upewnij się, że wszystkie procedury tworzenia tabel i aktualizacji są prawidłowe.
Blumer
13

Nie zapomnij ustawić debuggable = false w Manifeście. To mnie złapało kilka razy.

Nie jestem do końca pewien, ale sądzę, że zawierałoby to wiele informacji, dzięki którym hakerzy kodu mogą nieco ułatwić sobie życie.

Pamiętam lata temu przypadkowo usunąłem źródło z projektu Java, z przerażeniem zdałem sobie sprawę, że nie mam kopii zapasowej! Użyłem narzędzia o nazwie jad do dekompilacji pliku jar na serwerze produkcyjnym, który miał wszystkie zmienne nienaruszone i był prawie idealny. Nie pamiętam, czy komentarze były, czy nie, ale potem i tak nie dodałem do nich zbyt wielu komentarzy :) To dlatego, że podczas kompilacji dodawałem symbole.

Kevin
źródło
2
Android: debugowalna wartość domyślna to fałsz według Google developer.android.com/guide/topics/manifest/… . Wyszukaj tekst „android: debuggable”.
Oryginalny Android
11

Oprócz powyższych świetnych sugestii zastanów się nad wykorzystaniem Flurry do analityki mobilnej. Nie wiedziałam o tym, kiedy po raz pierwszy zaczęłam wydawać moje aplikacje, ale teraz, gdy zaktualizowałam je, aby je uwzględnić, uwielbiam widzieć, co użytkownicy robią z aplikacją. Może to dostarczyć cennych informacji zwrotnych i wskazówek na temat rzeczy, które mogą być trudne do znalezienia przez użytkowników lub nie są interesujące / przydatne dla użytkownika.

Bogaty
źródło
8

O ile mi wiadomo, komentarze nie są zawarte w aplikacji w żadnej formie.

Jedyną „gotcha” dla programisty, którą znalazłem podczas składania aplikacji, była różnorodna grafika, którą możesz dostarczyć na rynek. Przygotuj się na wykonanie kilku zrzutów ekranu i utworzenie kilku rozmiarów ikon aplikacji oraz grafiki promocyjnej.

Z drugiej strony przygotuj się na natychmiastowe pojawienie się aplikacji w sklepie - nie ma procesu zatwierdzania aplikacji Android Market.

Matthew Willis
źródło
7

Chciałbym również upewnić się, że masz jakieś raportowanie błędów, abyś wiedział, ilu użytkowników napotyka błędy. Podczas aktualizowania aplikacji możesz zachować kopię starej wersji, ponieważ musisz ją wycofać. Przyjemnie jest również skompilować listę kontrolną specyficzną dla Twojej aplikacji, którą możesz przeglądać za każdym razem.

Aby to dodać, możesz użyć trymera, aby usunąć fragmenty kodu, które nie są używane, aby zmniejszyć ogólny rozmiar pliku (ponieważ przestrzeń telefonu jest dość ograniczona). Możesz również zaciemnić kod, aby uzyskać dodatkową ochronę.

ninjasense
źródło