Lista "Tarefas pendentes" antes de publicar o aplicativo Android no mercado [fechado]

317

Estou quase pronto para publicar meu primeiro aplicativo no mercado Android, e gostaria de saber se algum de vocês tem alguma dica sobre alguma experiência que possa ter em relação à publicação de um aplicativo que vá além do óbvio e já documentado.

Quaisquer advertências ocultas e / ou idéias sobre o que fazer antes de publicar um aplicativo no mercado? Por exemplo, um amigo meu recomendou que eu removesse todo e qualquer comentário no meu código, caso alguém chegasse ao código-fonte, dificultando assim o possível "código jacker" decifrar o código. Eu pensei que era uma sugestão sensata.

O que há para fazer antes de postar o aplicativo no Android market?

dell116
fonte
1
Uma lista de verificação acaba de ser publicada na documentação oficial para garantir que você atenda às expectativas básicas dos usuários de tablets.
Jeff Axelrod
48
Estranho, não é construtivo e tem 16K views lol
require_once
61
Fechar uma pergunta tão construtiva como "não construtiva" é um forte exemplo de por que a política de moderação do Stackoverflow deve ser alterada!
Orion
7
Deve se certificar que seu aplicativo é rico palavra-chave e fazer a pesquisa palavra-chave antes de publicar .. ver como eu usei o Google ferramenta de tendência para a pesquisa de palavras-chave
NabeelSaleem
2
Siga a política de desenvolvedores do Google Play e verifique se o aplicativo não está violando nada. Você precisa ter muito cuidado com o Google. Dói muito quando você está na nuvem 9 com 2 milhões de downloads e, de repente, o aplicativo é suspenso porque você não passou pela política deles.
Yauraw Gadav

Respostas:

339

Espero que não seja tarde demais, aqui estão alguns conselhos:

  • Inicie seu aplicativo no final da semana (a quinta-feira à tarde geralmente é uma boa hora). Por quê então? Bem, nenhuma empresa gostaria de publicar um aplicativo apenas 1,5 dia antes do final da semana -> muito perigoso (caso haja um problema que precise de um tempo de reação rápido).

  • Use proguard no seu aplicativo (normalmente, você só precisa adicionar esta linha: proguard.config=proguard.cfgno default.propertiesarquivo). Isso otimizará, reduzirá e ofuscará seu código, muito útil para evitar ladrões de código. Você não precisa excluir nenhum comentário, eles são automaticamente excluídos no momento da compilação.

  • Otimize suas imagens (usando Paint.NET , PNGCrush ou OptiPNG ).

  • Otimize seus layouts para a maioria dos tamanhos de tela. Você pode fazer isso simplesmente alterando o tamanho da tela enquanto edita um layout no AndroidStudio ou Eclipse.

  • Tente / capture todas as exceções na interface do usuário e exiba um brinde simples que indique ao usuário que algo errado aconteceu. Enquanto isso, recupere o erro com Crashlytics ou algo semelhante.

  • Não use muitas bibliotecas .jar, prefira projetos de biblioteca (otimize o tamanho do código) e adicione-os usando gradle.

  • Prefira usar imagens vetoriais, pois reduzirá o tamanho do APK e se ajustará corretamente em todos os dispositivos.

  • Não use as janelas de preferências do Android -> isso não é muito bonito, mesmo que esteja nas diretrizes do Android, prefira criar sua própria página de configurações. Mas se você mantiver as preferências do Android: considere adicionar ícones e cores.

  • Não mostre o título do seu aplicativo na tela principal ( this.requestWindowFeature(Window.FEATURE_NO_TITLE);): boas marcas não precisam ocupar muito espaço na tela para serem reconhecidas (mostre algum ícone ou título no menu ou em um local que nem sempre é visível) , e considere usar o modo de tela cheia ( this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);) ao lidar com jogos e conteúdo muito imersivo.

  • Use o Google Analytics , o Fabric Answers ou o Flurry para análises futuras -> tente obter o máximo de informações possível, mas não pegue nada que viole a identidade anônima do cliente. Não se esqueça de recuperar as exceções (erros e rastreios de pilha) que acontecem no lado do usuário.

  • Peça aos seus amigos para fazerem testes com macacos, aprender com os usuários geralmente traz muitas coisas boas (como prioridades e novas idéias).

  • Considere publicar seu aplicativo antes de concluir todos os recursos (somente o mais importante), você ainda não sabe o que seus usuários vão querer ou precisar além do recurso principal.

  • Adicione uma seção "Mais aplicativos" ou "Mais do desenvolvedor" no seu aplicativo, ou seja, anúncios gratuitos.

  • Adicione uma seção "Enviar comentários" para dar ao usuário a possibilidade de solicitar um novo recurso ou relatar algum bug.

  • Peça aos usuários para traduzir seu aplicativo fornecendo o strings.xml em algum lugar da Web como o Crowdin .

  • Experimente seu aplicativo em cada versão do Android com o emulador -> muitos bugs ou problemas de design serão detectados dessa maneira. Para isso, você pode usar o emulador fornecido ou usar o Genymotion (o Genymotion possui muitos recursos muito úteis).

  • Pense no nome do aplicativo -> quais palavras-chave você usaria para pesquisar seu aplicativo? Essas palavras-chave devem ser o nome do seu aplicativo (o Google ajudará você a ser descoberto dessa maneira).

  • Considere incluir palavras-chave na descrição do aplicativo, mas de maneira descritiva (faça frases compreensíveis usando suas palavras-chave). Nunca adicione uma lista de palavras-chave como está na descrição.

  • Seja o primeiro a avaliar seu aplicativo com 5 estrelas e peça a sua família e amigos que façam o mesmo -> isso provavelmente influenciará as classificações de usuários futuros.

  • Considere usar o Google para traduzir seu aplicativo para a descrição, para o strings.xml ou ambos.

  • Considere exibir anúncios em seus aplicativos e use a mediação para melhorar suas receitas da AdMob .

  • Em vez de fornecer uma versão paga, considere fazer o faturamento no aplicativo -> é mais provável que os usuários paguem no aplicativo em vez de pagar por uma versão paga.

  • Adicione um log de alterações no aplicativo -> os usuários geralmente gostam de saber o que mudou desde a última versão.

  • Adicione uma seção "Obrigado" para os usuários que o ajudaram -> isso envolverá os usuários no seu produto.

  • Adicione um link "Se você gosta deste aplicativo, avalie-o" (na sua descrição do Google Play) no seu aplicativo -> você receberá mais 5 estrelas (geralmente um pop-up na inicialização ou após uma ação do recurso).

  • Considere explicar o seu produto por meio das seções "Dicas" ou "Instruções" em seu aplicativo.

  • Salve suas informações de keystore e credenciais em algum lugar seguro. Você não poderá publicar uma atualização para seu aplicativo se perder seu keystore.

  • Faça seu ícone realmente simples e claro. O ícone é o primeiro e também principalmente a última coisa que fará com que o usuário baixe seu aplicativo.

  • A menos que não seja possível, prefira a instalação externa ( android:installLocation="preferExternal"no AndroidManifest.xml).

  • Leia as dicas do AppAnnie e as postagens do blog, ele fornecerá dicas sobre como melhorar o ASO e ajudar você a entender melhor seus usuários.

Mathieu de Brito
fonte
2
se você tiver problema com o teste em diferentes emuladores no eclipse, você pode obter emulador genymotion, isso é tão faster.also a imagens otimizar png www.tinypng.com é uma boa escolha
Arash
2
Realmente útil, mas lembre-se de que, para fornecer uma experiência UX adequada, é melhor você ter motivos válidos para entrar em tela cheia. Por exemplo, se você deseja que o usuário se concentre em um único elemento e remova todas as outras distrações no caminho.
whizzkid
1
applicationIdnão pôde ser redefinido depois que você publicou seu aplicativo. Muitas vezes, contém palavras (como seu nome de usuário) que você não deseja revelar. Defina-o no build.gradlearquivo do seu projeto no Android Studio.
gsinha 8/02
7
Venho ao StackOverflow para obter respostas para perguntas. Minha pergunta era "O que devo fazer antes de publicar um aplicativo Android?" Essa é uma resposta muito útil e imagino que possa haver muitas outras que encerrem a pergunta, já que "Não construtivo" não parece muito construtivo.
user872985
2
Obrigado pelas dicas. Quero saber mais uma coisa. Se alguém abrir meu aplicativo na Play Store, quero exibir meus aplicativos como sugestão como "Mais do desenvolvedor". Existe alguma maneira de fazer isso
Geethu
47

Realmente, não se preocupe em remover os comentários do código. Seu código-fonte não chega ao telefone do usuário - apenas o código compilado chega lá e isso não contém nenhuma referência aos seus comentários.

Os usuários do Android tendem a apreciar que os aplicativos sejam os menores possíveis, portanto verifique novamente se você está apenas incluindo recursos (imagens etc.) que ainda estão sendo usados ​​no seu aplicativo. Use OptiPNG / PNGCrush em qualquer imagem .png que você tenha no seu aplicativo - isso pode reduzir o tamanho do arquivo de imagem em cerca de 10%, o que pode ser uma parte significativa do tamanho geral do aplicativo.

Além disso, use um editor de áudio como o Audacity para reduzir ao máximo o tamanho de qualquer áudio. Em geral, procurar arquivos mono OGG Vorbis é melhor e parece bom o suficiente em um telefone.

teedyay
fonte
1
Se minha memória me serve corretamente, pensei em ler em algum lugar que, quando o .apk é empacotado, o código não é compilado. Eu tenho a suposição de que o .apk contém todos os arquivos de origem, assim como você veria se fosse para a pasta da área de trabalho do projeto para o Eclipse ..... e o Dalvik compila o código rapidamente quando é executado no telefone?? Espero estar errado, porque mesmo quando estava lendo o artigo, dizia para mim mesmo: "bem, isso não é seguro". Também sou membro do xda-developers.com e eles parecem estar postando arquivos apk deodexados para aplicativos o tempo todo.
dell116
16
Não, a fonte bruta não é enviada. O arquivo .apk é apenas um arquivo .zip disfarçado, então renomeie-o e dê uma olhada. Qualquer item em / assets e / res / raw é enviado inalterado, assim como os drawables em / res. Os arquivos xml em / res são alterados de alguma forma (talvez alguém aqui saiba se está criptografado ou apenas compactado?). Seu código fonte é compilado em classes.dex. Se você abrir isso no Bloco de Notas, verá que ele contém muitas cadeias de caracteres do código-fonte (nomes de métodos e variáveis, etc.), mas nenhum de seus comentários.
teedyay
7
Os arquivos xml são compilados para otimizar sua análise e navegação. existem ferramentas para descompilar-los.
bigstones
@ bigstones Que tipo de programas de compilação estamos falando aqui?
Robert Massaioli 20/05
@RobertMassaioli Apenas o AAPT, é feito automaticamente no momento da compilação.
Bigstones 20/05/12
36

Não se preocupe com comentários. Porém, se você estiver preocupado com a dissecação maliciosa do seu aplicativo, execute-o através de um ofuscador como o ProGuard.

Outras dicas que eu daria:

  • Tenha todos os seus materiais gráficos e promocionais prontos para avançar com o tempo.
  • Programe seu lançamento estrategicamente para quando você não tiver muito mais em sua vida (como antes de um fim de semana), para que você tenha tempo de responder RAPIDAMENTE se o primeiro punhado de usuários começar a ter problemas. Classificações baixas no início podem te matar, mas respostas e correções rápidas por email podem resgatar totalmente a opinião de um cliente sobre seu aplicativo.
  • Concordo com os comentários anteriores sobre a redução do tamanho da imagem, tanto quanto possível.
  • Coloque seu código no controle de origem, se ainda não estiver. Você deve emitir atualizações e correções em algum momento, e o controle de origem pode desempenhar um grande papel nisso.
Blumer
fonte
4
+1 para liberar quando você tiver tempo para consertar as coisas rapidamente!
teedyay
Obrigado por sua resposta. Tenho certeza que os outros também serão gratos. Estou usando o Eclipse Galileo para criar meu aplicativo, e outro segmento no SO diz que o Subversive for Eclipse é uma das ferramentas de controle de origem mais fáceis de se acostumar. Nessa nota, o site do Eclipse possui uma versão do Subversive para download, mas vejo apenas um link para uma versão do Helios. Você ou mais alguém sabe se este plugin funciona com o Galileo?
dell116
Na verdade eu não sei. Eu faço meu controle de versão não integrado ao Eclipse porque não me preocupei em configurá-lo. Eu uso o TortoiseSVN quando estou no Windows e as ferramentas de linha de comando do Subversion quando estou na minha caixa do Linux.
Blumer
Por falar em atualizações, é tão simples quanto empacotar o aplicativo com os arquivos atualizados e substituir o .apk mais antigo do mercado por um novo com um número de versão diferente? Lembro-me de tentar reinstalar meu aplicativo em cima de uma instalação pré-existente (sem desinstalar o aplicativo para tentar simular uma "atualização"), mas falhou, o que me levou a pensar que isso pode acontecer quando eu emitir uma atualização . Mas, por uma questão de argumento, o "update" .apk que eu instalei sobre a minha instalação antiga não tinha um número de versão diferente no manifesto. Obrigado novamente por qualquer conselho!
dell116
1
Quando você for carregar o seu novo .apk no Market, ele verificará se o número da versão aumentou desde a última vez. Ao instalar uma atualização em um dispositivo, acredito que NÃO verifica os números da versão, mas instala o que você pede. Eu sei que a instalação de um .apk atualizado falhará, no entanto, se as chaves com as quais a versão antiga e a nova foram assinadas não forem as mesmas. Você precisará desinstalar o antigo primeiro e depois instalar a atualização.
Blumer
32

Não tenho certeza se você já viu isso antes, mas você deve exercitar sua interface do usuário com o macaco - meu aplicativo teve apenas uma falha, mas não teria nenhum deles se eu o tivesse testado primeiro com o Monkey.

RivieraKid
fonte
18

Vou adicionar uma óbvia, mas importante: salve sua chave de assinatura em algum lugar seguro e faça um backup. Se você estiver permitindo que o Eclipse gerencie isso para você, preste atenção onde ele cria seu keystore e salve uma cópia de backup dele. E não esqueça as senhas do keystore ou das chaves de assinatura individuais.

Motivo: você precisa assinar atualizações no seu aplicativo com o mesmo certificado usado para assinar o original. Se você perder esse certificado (ou perder o acesso), não poderá atualizar seu aplicativo. Você precisará criar uma nova listagem no mercado Android.

zlovelady
fonte
1
Eu quase perdi minha chave fazendo uma restauração no computador ... Felizmente, eu tinha um backup!
Ruchir Baronia
17

Alguns pontos que tendem a esquecer:

  • verifique seu minSdkVersionmanifesto
  • teste seu aplicativo em um emulador com o seu minSdkVersion
  • deixe seus amigos testarem seu aplicativo para ver se é auto-explicativo

Se você deseja fornecer atualizações em seu aplicativo:

  • convém adicionar algum tipo de diálogo 'O que há de novo nesta versão'
  • faça backup da sua versão antiga!
  • não esqueça de aumentar versionCodee versionNameno seu manifesto
Maaalte
fonte
6
Bons pontos, e na mesma linha de pensamento, se o aplicativo usar um banco de dados SQLite, verifique se os procedimentos de criação e atualização de tabelas estão em boas condições de funcionamento.
Blumer
13

Não se esqueça de tornar debuggable = false em seu manifesto. Isso me pegou algumas vezes.

Não tenho muita certeza, mas acho que isso incluiria muitas informações, tornando a vida de um hacker de código um pouco mais fácil.

Lembro-me de anos atrás, acidentalmente, excluí a fonte de um projeto java, e, horrorizado, percebi que não tinha backup! Usei um utilitário chamado jad para descompilar o arquivo jar no servidor de produção, que tinha todas as variáveis ​​intactas e estava quase perfeito. Não me lembro se os comentários estavam lá ou não, mas, de qualquer maneira, não coloquei muitos comentários naqueles dias :) Isso ocorre porque eu estava incluindo símbolos ao compilar.

Kevin
fonte
2
android: o valor padrão depurável é falso, de acordo com o Google developer.android.com/guide/topics/manifest/… . Pesquise no texto "android: debuggable".
O Android original
11

Além das ótimas sugestões acima, pense em usar o Flurry para análise móvel. Eu não sabia disso quando comecei a liberar meus aplicativos, mas agora que os atualizei para incluí-lo, adoro ver o que os usuários estão realmente fazendo com o aplicativo. Isso pode fornecer feedback e orientação valiosos para coisas que podem ser difíceis para os usuários encontrarem ou não serem interessantes / úteis para o usuário.

Rico
fonte
8

Tanto quanto sei, os comentários não estão incluídos no aplicativo de nenhuma forma.

A única "pegadinha" para um desenvolvedor que eu encontrei durante o envio do aplicativo foram os vários gráficos que você pode fornecer ao mercado. Esteja preparado para tirar várias capturas de tela e criar vários tamanhos de ícones de aplicativos, além de gráficos promocionais.

Pelo lado positivo, esteja preparado para que seu aplicativo apareça instantaneamente na loja - não há processo de aprovação para os aplicativos do Android Market.

Matthew Willis
fonte
7

Eu também garantiria que você tivesse algum tipo de relatório de erros para saber quantos usuários estão encontrando erros. Convém manter uma cópia da sua versão antiga ao atualizar o aplicativo, caso seja necessário reverter. Também é bom compilar uma lista de verificação específica para o seu aplicativo que você pode consultar sempre.

Além disso, você pode usar um aparador para remover trechos de código que não são utilizados para reduzir o tamanho geral do arquivo (já que o espaço do telefone é bastante limitado). Você também pode ofuscar seu código para obter proteção extra.

ninjasense
fonte