Elenco "Da fare" prima di pubblicare l'app Android sul mercato [chiuso]


317

Sono quasi pronto a pubblicare la mia prima app sul mercato Android e vorrei sapere se qualcuno di voi ha qualche suggerimento su eventuali esperienze che potresti aver avuto riguardo alla pubblicazione di un'app che va oltre l'ovvio e già documentata.

Qualche avvertimento nascosto e / o idee su cosa fare prima di pubblicare un'app sul mercato? Ad esempio, un mio amico mi ha raccomandato di rimuovere tutti i commenti nel mio codice nel caso in cui qualcuno accedesse al codice sorgente, rendendo così più difficile per il decifratore di codice decifrare il codice. Ho pensato che fosse un suggerimento sensato.

Cosa devo fare prima di pubblicare la loro app sul mercato Android?


1
È stata appena pubblicata una lista di controllo nella documentazione ufficiale per assicurarsi che si soddisfino le aspettative di base degli utenti di tablet.
Jeff Axelrod,

48
Strano che non sia costruttivo e abbia ottenuto 16.000 visualizzazioni lol
require_once

61
Chiudere una domanda così costruttiva come "non costruttiva" è un chiaro esempio del perché la politica di moderazione di Stackoverflow dovrebbe essere cambiata!
Orione,

7
Devi assicurarti che la tua app sia ricca di parole chiave e fare ricerca di parole chiave prima di pubblicare .. guarda come ho usato lo strumento di tendenza di google per la ricerca di parole chiave
NabeelSaleem

2
Segui le norme per gli sviluppatori di Google Play e assicurati che la tua applicazione non stia violando nulla, devi fare molta attenzione con Google, fa molto male quando sei sul cloud 9 con 2 milioni di download e all'improvviso la tua applicazione viene sospesa perché non hai seguito la loro politica.
Yauraw Gadav

Risposte:


339

Spero non sia troppo tardi, ecco alcuni consigli:

  • Avvia la tua app alla fine della settimana (giovedì pomeriggio di solito è un buon momento). Perchè così? Bene, nessuna azienda vorrebbe pubblicare un'app solo 1,5 giorni prima del fine settimana -> troppo pericolosa (nel caso ci sia un problema che richiede un tempo di reazione rapido).

  • Usa proguard sulla tua app (di solito, devi solo aggiungere questa riga: proguard.config=proguard.cfgnel default.propertiesfile). Ciò consentirà di ottimizzare, ridurre e offuscare il codice, molto utile per prevenire i ladri di codice. Non è necessario eliminare alcun commento, vengono automaticamente eliminati al momento della compilazione.

  • Ottimizza le tue immagini (usando Paint.NET , PNGCrush o OptiPNG ).

  • Ottimizza i layout per la maggior parte delle dimensioni dello schermo. Puoi farlo semplicemente cambiando le dimensioni dello schermo mentre modifichi un layout in AndroidStudio o Eclipse.

  • Prova / rileva tutte le eccezioni sull'interfaccia utente e visualizza un semplice brindisi che indica all'utente che è successo qualcosa di sbagliato. Nel frattempo, recupera l'errore con Crashlytics o qualcosa di simile.

  • Non usare troppe librerie .jar, preferisci progetti di biblioteche (ottimizza le dimensioni del codice) e aggiungile usando gradle.

  • Preferisci usare immagini vettoriali poiché ridurrà le dimensioni dell'APK e si adatterà correttamente su tutti i dispositivi.

  • Non utilizzare le finestre delle preferenze di Android -> non è davvero bello, anche se è nelle linee guida di Android, preferisci creare la tua pagina delle impostazioni. Ma se mantieni le preferenze di Android: considera l'aggiunta di icone e colori.

  • Non mostrare il titolo della tua app sulla schermata principale ( this.requestWindowFeature(Window.FEATURE_NO_TITLE);): i buoni marchi non hanno bisogno di occupare così tanto spazio su una schermata per essere riconosciuti (mostra qualche icona o titolo nel menu o da qualche parte che non è sempre visibile) e considera l'utilizzo della modalità a schermo intero ( this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);) quando si tratta di giochi e contenuti molto coinvolgenti.

  • Usa Google Analytics , Fabric Answers o Flurry per analisi future -> prova a ottenere quante più informazioni possibili, ma non prendere nulla che violi l'identità anonima del cliente. Non dimenticare di recuperare le eccezioni (errori e tracce dello stack) che si verificano sul lato utente.

  • Chiedi ai tuoi amici di fare test sulle scimmie, apprendere dagli utenti di solito porta molte cose buone (come priorità e nuove idee).

  • Prendi in considerazione la pubblicazione della tua app prima di aver completato tutte le funzionalità (solo funzionalità più importante), non sai già cosa vorranno o di cui avranno bisogno gli utenti oltre alla funzionalità principale.

  • Aggiungi una sezione "Altre app" o "Altro dallo sviluppatore" nella tua app, ovvero annunci gratuiti.

  • Aggiungi una sezione "Invia feedback" per dare all'utente la possibilità di richiedere una nuova funzionalità o segnalare alcuni bug.

  • Chiedi ai tuoi utenti di tradurre la tua app fornendo strings.xml da qualche parte sul Web come Crowdin .

  • Prova la tua app su ogni versione di Android con l'emulatore -> molti bug o problemi di progettazione verranno rilevati in questo modo. Per questo, puoi usare l'emulatore fornito o usare Genymotion (Genymotion ha molte funzioni molto utili).

  • Pensa al nome dell'app -> quali parole chiave useresti per cercare la tua app? Queste parole chiave dovrebbero essere il nome della tua app (Google ti aiuterà a essere scoperto in questo modo).

  • Valuta di includere le parole chiave nella descrizione dell'app, ma in modo descrittivo (rendi comprensibili le frasi usando le tue parole chiave). Non aggiungere mai un elenco di parole chiave come nella descrizione.

  • Sii il primo a valutare la tua app con 5 stelle e chiedi a familiari e amici di fare lo stesso -> questo probabilmente influenzerà le valutazioni degli utenti futuri.

  • Prendi in considerazione l'utilizzo di Google per tradurre la tua app sia per la descrizione, sia per strings.xml o entrambi.

  • Valuta la possibilità di visualizzare annunci nelle tue app e utilizzare la mediazione per migliorare le tue entrate AdMob .

  • Invece di fornire una versione a pagamento, prendi in considerazione la fatturazione in-app -> gli utenti hanno maggiori probabilità di pagare in-app anziché pagare per una versione a pagamento.

  • Aggiungi un registro delle modifiche nell'app -> di solito agli utenti piace sapere cosa è cambiato dall'ultima versione.

  • Aggiungi una sezione "Grazie" per gli utenti che ti hanno aiutato -> questo coinvolgerà gli utenti nel tuo prodotto.

  • Aggiungi un link "Se ti piace questa app, per favore votala" (alla descrizione di Google Play) nella tua app -> otterrai più 5 stelle (di solito un popup all'avvio o dopo un'azione di funzionalità).

  • Valuta la possibilità di spiegare il tuo prodotto tramite una sezione "Suggerimenti" o "Istruzioni" nella tua app.

  • Salvare le informazioni sul keystore e le credenziali in un luogo sicuro. Non sarai in grado di pubblicare un aggiornamento per la tua app se perdi il tuo keystore.

  • Rendi la tua icona davvero semplice e chiara. L'icona è la prima e anche principalmente l'ultima cosa che farà scaricare la tua app.

  • A meno che non sia possibile, preferisci l'installazione esterna ( android:installLocation="preferExternal"in AndroidManifest.xml).

  • Leggi i suggerimenti e i post sul blog di AppAnnie , ti darà suggerimenti su come migliorare ASO e aiutarti a capire meglio i tuoi utenti.


2
se hai problemi con i test su diversi emulatori in eclipse, puoi ottenere l'emulatore genymotion, questo è molto più veloce. Inoltre, per ottimizzare le immagini png www.tinypng.com è una buona scelta
Arash,

2
Davvero utile, ma tieni presente che, al fine di fornire un'esperienza UX corretta, è meglio avere validi motivi per passare a schermo intero. Come se desideri che l'utente si concentri su un singolo elemento e rimuova tutte le altre distrazioni lungo la strada.
Whizzkid,

1
applicationIdnon è stato possibile reimpostare una volta pubblicata l'app. Molte volte contiene parole (come il tuo nome utente) che non vuoi rivelare. Impostalo nel build.gradlefile del tuo progetto in Android Studio.
gsinha,

7
Vengo a StackOverflow per le risposte alle domande. La mia domanda era "Cosa devo fare prima di pubblicare un'app Android?" Questa è una risposta molto utile e immagino che potrebbero essercene molte altre, quindi chiudere la domanda come "Non costruttivo" non sembra molto costruttivo.
user872985

2
Grazie per i suggerimenti .. Voglio sapere un'altra cosa, se qualcuno apre la mia app nel Play Store voglio mostrare le mie app come un suggerimento come "Altro dallo sviluppatore" c'è un modo per farlo
Geethu,

47

Davvero, non preoccuparti di rimuovere i commenti sul codice. Il tuo codice sorgente non arriva al telefono dell'utente - arriva solo il codice compilato e che non contiene alcun riferimento ai tuoi commenti.

Gli utenti Android tendono ad apprezzare che le app siano le più piccole possibili, quindi ricontrolla di includere solo le risorse (immagini, ecc.) Che vengono ancora utilizzate nella tua app. Usa OptiPNG / PNGCrush su qualsiasi immagine .png che hai nella tua app, che può ridurre le dimensioni del file di immagine di circa il 10%, che può essere una parte significativa della dimensione complessiva dell'app.

Inoltre, utilizzare un editor audio come Audacity per ridurre il più possibile le dimensioni di qualsiasi audio. Scegliere i file Vorbis OGG mono è spesso il migliore e suona abbastanza bene su un telefono.


1
Se la mia memoria mi serve correttamente, ho pensato di leggere da qualche parte che quando il .apk è impacchettato, il codice non viene compilato. Ho ipotizzato che .apk contenga tutti i file sorgente, proprio come vedresti se andassi nella cartella dell'area di lavoro del progetto per Eclipse ..... e Dalvik compila il codice al volo quando viene eseguito al telefono?? Spero di sbagliarmi, perché anche quando stavo leggendo l'articolo, stavo dicendo a me stesso: "beh, non è sicuro". Sono anche membro di xda-developers.com e sembrano pubblicare continuamente file apk deodici per le app.
dell116,

16
No, la fonte grezza non viene spedita. Il file .apk è solo un file .zip sotto mentite spoglie, quindi rinominalo e dai un'occhiata. Qualsiasi cosa in / assets e / res / raw viene spedita inalterata, così come i drawable in / res. I file XML in / res sono alterati in qualche modo (forse qualcun altro qui sa se sono crittografati o semplicemente compressi?). Il tuo codice sorgente viene compilato in classes.dex. Se lo apri in Blocco note troverai che contiene molte stringhe dal tuo codice sorgente (metodo, nomi delle variabili, ecc.) Ma nessuno dei tuoi commenti.
giovedì

7
I file XML vengono compilati per ottimizzare l'analisi e la navigazione. ci sono strumenti per decompilarli.
bigstones,

@bigstones Di che tipo di programmi di compilazione stiamo parlando qui?
Robert Massaioli,

@RobertMassaioli Solo AAPT, viene eseguito automaticamente al momento della creazione.
bigstones,

36

Non preoccuparti dei commenti. Se sei preoccupato per la dissezione dannosa della tua app, tuttavia, eseguila attraverso un offuscatore come ProGuard.

Altri consigli che vorrei offrire:

  • Tieni pronti tutti i tuoi materiali grafici e promozionali per andare avanti nel tempo.
  • Tempi strategici per il tuo rilascio quando non hai molto altro da fare nella tua vita (come prima di un fine settimana) in modo da avere il tempo di rispondere VELOCE se il primo pugno di utenti inizia ad avere problemi. Le valutazioni basse all'inizio possono ucciderti, ma una risposta e-mail e correzioni rapide possono riscattare totalmente l'opinione del cliente sulla tua app.
  • Concordo con i commenti precedenti sulla riduzione delle dimensioni dell'immagine il più possibile.
  • Porta il tuo codice nel controllo del codice sorgente se non lo è già. Avrai sicuramente bisogno di rilasciare aggiornamenti e correzioni ad un certo punto e il controllo del codice sorgente può svolgere un ruolo importante in questo.

4
+1 per il rilascio quando hai tempo per sistemare le cose rapidamente!
giovedì

Grazie per la risposta. Sono sicuro che anche gli altri saranno grati. Sto usando Eclipse Galileo per creare la mia app e un altro thread su SO dice che Subversive per Eclipse è uno degli strumenti di controllo del codice sorgente più facili a cui abituarsi. In quella nota, il sito Web di Eclipse ha una versione di Subversive da scaricare, ma vedo solo un link per una versione di Helios. Tu o qualcun altro sapete se questo plugin funziona con Galileo?
dell116,

In realtà non lo so. Faccio il mio controllo della versione non integrato con Eclipse perché non mi sono preoccupato di configurarlo. Uso TortoiseSVN quando sono in Windows e gli strumenti da riga di comando di Subversion quando sono sulla mia macchina Linux.
Blumer,

A proposito di aggiornamenti, è semplice come impacchettare l'app con i file aggiornati e sostituire il vecchio .apk sul mercato con uno nuovo con un numero di versione diverso? Ricordo di aver provato a reinstallare la mia app su un'installazione preesistente (senza disinstallare l'app per provare a simulare un "aggiornamento"), ma non è riuscita, il che mi ha fatto pensare che ciò potesse accadere quando ho effettuato un aggiornamento . Ma, per amor di discussione, l '"aggiornamento" .apk che ho installato sopra la mia vecchia installazione non aveva un numero di versione diverso nel manifest. Grazie ancora per qualsiasi consiglio!
dell116,

1
Quando vai a caricare il tuo nuovo .apk sul mercato, controllerà che il numero di versione sia aumentato dall'ultima volta. Quando installo un aggiornamento su un dispositivo, credo che NON controlli i numeri di versione, ma piuttosto installi ciò a cui gli dici. So che l'installazione di un .apk aggiornato non andrà a buon fine, tuttavia, se le chiavi con cui la vecchia e la nuova versione sono state firmate non sono le stesse. Dovrai prima disinstallare quello vecchio e quindi installare l'aggiornamento.
Blumer,

32

Non sono sicuro di averlo visto prima, ma dovresti allenare la tua interfaccia utente con la scimmia : la mia app ha avuto solo un arresto anomalo, ma non avrebbe avuto nessuno di quelli se lo avessi testato prima con Monkey.


18

Ne aggiungerò uno ovvio, ma importante: salva la tua chiave di firma in un posto sicuro e fai un backup. Se stai permettendo a Eclipse di gestirlo per te, presta attenzione a dove crea il tuo keystore e salvane una copia di backup. E non dimenticare le password per il keystore o le singole chiavi di firma.

Perché: è necessario firmare gli aggiornamenti per l'app con lo stesso certificato utilizzato per firmare l'originale. Se perdi quel certificato (o perdi l'accesso ad esso), non puoi aggiornare la tua app. Dovrai creare una nuova inserzione nel mercato Android.


1
Ho quasi perso la chiave mentre eseguivo un ripristino del computer ... Fortunatamente, avevo un backup!
Ruchir Baronia,

17

Alcuni punti che tendo a dimenticare:

  • ricontrolla il tuo minSdkVersionnel manifest
  • prova la tua app su un emulatore con il tuo minSdkVersion
  • lascia che i tuoi amici testino la tua app per vedere se si spiega da sé

Se hai intenzione di fornire aggiornamenti nella tua app:

  • potresti voler aggiungere una sorta di finestra di dialogo "Novità in questa versione"
  • fai il backup della tua vecchia versione!
  • non dimenticare di aumentare versionCodee versionNamenel tuo manifest

6
Aspetti positivi e, secondo la stessa linea di pensiero, se l'app utilizza un database SQLite, assicurarsi che le procedure di creazione e aggiornamento della tabella siano tutte correttamente funzionanti.
Blumer,

13

Non dimenticare di rendere debuggable = false nel tuo manifest. Mi ha sorpreso un paio di volte.

Non ne sono del tutto sicuro, ma penso che questo includerebbe molte informazioni che rendono un po 'più facile la vita degli hacker di codice.

Ricordo che anni fa ho cancellato per sbaglio la fonte in un progetto Java, con orrore mi sono reso conto che non avevo alcun backup! Ho usato un'utilità chiamata jad per decompilare il file jar sul server di produzione, aveva tutte le variabili intatte ed era quasi perfetto. Non riesco a ricordare se i commenti ci fossero o no, ma poi non ho rimesso molti commenti in quei giorni comunque :) Questo perché stavo includendo simboli durante la compilazione.


2
android: il valore predefinito debuggable è falso secondo Google developer.android.com/guide/topics/manifest/… . Cerca nel testo "android: debuggable".
L'originale Android

11

Oltre ai fantastici suggerimenti di cui sopra, pensa a utilizzare Flurry per l'analisi mobile. Non lo sapevo quando ho iniziato a rilasciare le mie app, ma ora che le ho aggiornate per includerle, adoro vedere cosa stanno facendo gli utenti con l'app. Ciò può fornire preziosi feedback e indicazioni per cose che potrebbero essere difficili da trovare per gli utenti o non interessanti / utili per l'utente.


8

Per quanto ne so, i commenti non sono inclusi nell'app in nessuna forma.

L'unico "gotcha" per uno sviluppatore che ho trovato durante l'invio dell'app era la grafica che puoi fornire al mercato. Preparati a scattare diverse schermate e creare diverse dimensioni di icone di app e grafica promozionale.

Il lato positivo è che devi mostrare la tua app all'istante nel negozio: non è necessario eseguire alcuna procedura di approvazione per le app Android Market.


7

Vorrei anche assicurarmi di avere una sorta di segnalazione degli errori in modo da sapere quanti utenti stanno riscontrando errori. Potresti voler conservare una copia della tua vecchia versione quando aggiorni la tua app nel caso in cui devi eseguire il rollback. È anche bello compilare una checklist specifica per la tua app che puoi consultare ogni volta.

Inoltre, puoi aggiungere un trimmer per estrarre parti di codice non utilizzate per ridurre le dimensioni complessive del file (poiché lo spazio del telefono è piuttosto limitato). Potresti anche voler offuscare il tuo codice per una protezione aggiuntiva.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.