Pergunta

Estou desenvolvendo um aplicativo que provavelmente será pré -instalado em dispositivos. Também estará disponível no Google Play. Existe uma maneira de atualizar as instâncias que não são baixadas pelo Google Play, pois o Google Play não notificará os usuários sobre uma atualização.

Eu estava pensando, como sugerido aqui, tentando entrar em contato com meu site periodicamente e quando a atualização estiver disponível, faça o download.

Existe uma maneira de fazer essa atualização automaticamente ou até silenciosamente, para que o usuário não precise fazer nada (como executar o pacote manualmente). Ou, quando meu site mostra que a atualização está disponível, para oferecer aos usuários uma atualização no Google Play, mesmo que não esteja instalada no mercado (editar: essa opção do Google Play seria preferível, porque do que os usuários não precisariam verificar "Permitir instalação de fontes que não são do mercado ".)

Foi útil?

Solução

Eu tive o mesmo problema, agora verifico no início do meu aplicativo se houver uma nova versão no meu XML de configuração.

Eu comparo a versão real com a tag "<pp_version> 1.1 </pp_version>" da minha configuração.xml se estiver mais baixo, pergunto com um alertdialog personalizado se o usuário prosseguir com a atualização

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse(myapk_link));
startActivity(intent);    

Após o download, o usuário precisa executar o pacote manualmente.

Se você escolher a atualização do uso do mercado do Android:

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://details?id=com.package.name"));
startActivity(intent);  

com.package.name Deve ser o "pacote" do seu aplicativo

ou

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APP_NAME));
startActivity(intent);  

Outras dicas

Acabei de encontrar uma maneira de funcionar. Disparar uma intenção para um mercado que procura meu aplicativo.

Testado com o OpenIntent News Reader, porque, pois era fácil encontrar uma versão mais antiga .APK. O Market encontra um aplicativo e, quando o usuário clica em instalação, substitui a versão mais antiga pelo mercado. Eu acho que é uma solução muito mais fácil para um usuário do que baixar manualmente .apk e executando -o.

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APPLICATION_NAME));
startActivity(intent);  

Existe uma maneira de atualizar as instâncias que não são baixadas pelo Google Play, pois o Google Play não notificará os usuários sobre uma atualização.

Pergunta antiga, nova resposta:

Depois de cavar exatamente a mesma pergunta (aplicativo pré-instalado no dispositivo, como posso fornecer uma atualização através do Google-Play), encontrei essas informações sobre support.google.com*:

O Google Play pode gerenciar atualizações para aplicativos pré -carregados, desde que as seguintes condições sejam atendidas:

  • O aplicativo pré -carregado precisa estar na partição do sistema
  • O aplicativo pré -carregado precisa ser gratuito
  • O aplicativo pré -carregado precisa ser assinado com a mesma assinatura que o aplicativo publicado no Google Play
  • O nome do pacote do aplicativo pré -carregado e atualizado precisa ser o mesmo
  • O código da versão do aplicativo atualizado precisa ser maior que o do aplicativo pré -carregado

* A partir de 2015-04-13

Estou desenvolvendo um aplicativo que provavelmente será pré -instalado em dispositivos.

Então você precisa estar conversando com os fabricantes de dispositivos e fazendo suas perguntas. Ninguém mais poderá lhe dizer o que é e não é possível, dado o dispositivo e o (s) operador (s) que o distribuirá. As respostas dependerão fortemente de como elas criam seu firmware, se seu aplicativo fará parte do firmware ou "instalado" como um aplicativo normal, qual é o arranjo deles com a transportadora Vis a Vis Atualizações de firmware, etc. Você pode nem mesmo votar no assunto.

Se quem for acalmado o aplicativo no dispositivo fizer um trabalho adequado, o aplicativo ainda terá um link de mercado (mesmo como um aplicativo do sistema) e o mercado solicitará que o usuário o atualize se uma nova versão estiver disponível. Afinal, é exatamente isso que acontece com um aplicativo como o Gmail que é pré-instalado em telefones.

Você não pode instalar ou atualizar um pacote automaticamente. Somente o mercado do Android é capaz de fazer isso (ou seja, ele se atualiza silenciosamente).

Você certamente pode baixar um pacote e demitir o Intent Para instalá-lo, mas o usuário terá que ter as opções "Permitir aplicativos que não sejam do mercado" ativados e ainda terão que aprovar manualmente a instalação/atualização.

Um lugar para possivelmente investigar é como o Google Maps faz isso. Isso geralmente é pré-instalado, mas sempre parece ser mostrado como uma atualização no aplicativo do Android Market, acredito. Se há uma bandeira especial no packages.xml Ou manifesto, não sei.

Há um bom serviço que ajuda seu aplicativo a se manter atualizado. Dar uma olhada em https://www.pushlink.com

Neste produto, há um modo Ninja que permite executar atualizações sem interação do usuário.

Para outros "modos", ativar o aplicativo de instalação não-mercado "ainda é necessário. Se não estiver ativado, o processo de instalação solicitará e redirecionará o usuário para as configurações do aplicativo e, depois disso, o usuário pode instalar o aplicativo.

É possível atualizar totalmente um aplicativo automaticamente, se você pode assinar um aplicativo como um aplicativo do sistema. Escrevemos um aplicativo para hardware específico, criamos um aplicativo de atualização que o fabricante assinou para nós. O aplicativo de atualização é executado na inicialização do dispositivo, verifica a versão atual do aplicativo e a nova versão e instala a nova versão, se necessário.

O caso de uso seria um aplicativo de quiosque, em tablets de uma marca e modelo, que não têm o Google Play.

O Google em 2018 Android Dev Summit anunciou as APIs Android no aplicativo para desenvolvedores para que você possa ler toda a história aqui e ser atualizada sobre essa pergunta.Detalhes da API de atualização no aplicativo Android

https://developer.android.com/guide/app-blardle/in-appdates

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top