Abri a loja do Google Play usando o código a seguir
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=my packagename "));
startActivity(i);.
Mas ele me mostra uma visão completa da ação para selecionar a opção (navegador / loja de jogos). Preciso abrir o aplicativo na Play Store diretamente.
android
android-intent
google-play
Rajesh Kumar
fonte
fonte
Respostas:
Você pode fazer isso usando o
market://
prefixo .Usamos um
try/catch
bloco aqui porque umException
será lançado se a Play Store não estiver instalada no dispositivo de destino.OBSERVAÇÃO : qualquer aplicativo pode se registrar como capaz de lidar com o
market://details?id=<appId>
Uri. Se você deseja segmentar especificamente o Google Play, verifique a resposta em Berťákfonte
market://search?q=pub:"+devName
ehttp://play.google.com/store/search?q=pub:"+devName
appPackageName
é de fatoBuildConfig.APPLICATION_ID
. SemContext
/Activity
dependências, reduzindo o risco de vazamento de memória.Muitas respostas aqui sugerem usar
Uri.parse("market://details?id=" + appPackageName))
para abrir o Google Play, mas acho que é insuficiente :Alguns aplicativos de terceiros podem usar seus próprios filtros de intenção com
"market://"
esquema definido , para que possam processar o Uri fornecido em vez do Google Play (experimentei essa situação com o aplicativo egSnapPea). A pergunta é "Como abrir a Google Play Store?", Presumo que você não deseja abrir nenhum outro aplicativo. Observe também que, por exemplo, a classificação do aplicativo é relevante apenas no aplicativo da GP Store, etc.Para abrir o Google Play E SOMENTE o Google Play, eu uso este método:
O ponto é que quando mais aplicativos ao lado do Google Play podem abrir nossa intenção, a caixa de diálogo do seletor de aplicativos é ignorada e o aplicativo GP é iniciado diretamente.
ATUALIZAÇÃO: Às vezes, parece que ele abre apenas o aplicativo GP, sem abrir o perfil do aplicativo. Como TrevorWiley sugeriu em seu comentário,
Intent.FLAG_ACTIVITY_CLEAR_TOP
poderia resolver o problema. (Eu ainda não testei ...)Veja esta resposta para entender o que
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
faz.fonte
rateIntent.setPackage("com.android.vending")
certeza de que o aplicativo PlayStore lidará com essa intenção, em vez de todo esse código?Acesse o link oficial do desenvolvedor do Android como tutorial, veja o passo a passo e obtenha o código do seu pacote de aplicativos da play store, se existir, ou se não houver aplicativos da play store e abra o aplicativo no navegador da web.
Link oficial do desenvolvedor Android
https://developer.android.com/distribute/tools/promote/linking.html
Vinculando a uma página de aplicativo
De um site:
https://play.google.com/store/apps/details?id=<package_name>
Em um aplicativo Android:
market://details?id=<package_name>
Vinculando a uma lista de produtos
De um site:
https://play.google.com/store/search?q=pub:<publisher_name>
Em um aplicativo Android:
market://search?q=pub:<publisher_name>
Vinculando a um resultado de pesquisa
De um site:
https://play.google.com/store/search?q=<search_query>&c=apps
Em um aplicativo Android:
market://search?q=<seach_query>&c=apps
fonte
market
, não encontrará solução. Acho que a nova maneira é disparar uma intenção mais genérica developer.android.com/distribute/marketing-tools/… . As versões mais recentes do aplicativo Play Store provavelmente têm um filtro de intenção para este URIhttps://play.google.com/store/apps/details?id=com.example.android
tente isso
fonte
Todas as respostas acima abrem o Google Play em uma nova visualização do mesmo aplicativo, se você deseja realmente abrir o Google Play (ou qualquer outro aplicativo) independentemente:
A parte importante é que, na verdade, abre o Google Play ou qualquer outro aplicativo de forma independente.
A maior parte do que eu vi usa a abordagem das outras respostas e não era o que eu precisava, espero que isso ajude alguém.
Saudações.
fonte
this.cordova
? Onde estão as declarações das variáveis? Onde écallback
declarado e definido?Você pode verificar se o aplicativo Google Play Store está instalado e, se for o caso, pode usar o protocolo "market: //" .
fonte
Enquanto a resposta de Eric está correta e o código de Berťák também funciona. Eu acho que isso combina os dois de maneira mais elegante.
Ao usar
setPackage
, você força o dispositivo a usar a Play Store. Se não houver uma Play Store instalada,Exception
ela será capturada.fonte
https://play.google.com/store/apps/details?id=
vez demarket:
Como vem? developer.android.com/distribute/marketing-tools/… Ainda é uma resposta abrangente e curta.use market: //
fonte
Você pode fazer:
obtenha Referência aqui :
Você também pode tentar a abordagem descrita na resposta aceita desta pergunta: Não é possível determinar se o Google Play Store está instalado ou não no dispositivo Android
fonte
Muito tarde na festa Os documentos oficiais estão aqui. E o código descrito é
Como você configurar esta intenção, passar
"com.android.vending"
paraIntent.setPackage()
modo que os usuários ver detalhes de seu aplicativo no aplicativo Google Play Store em vez de um seletor . para KOTLINSe você publicou um aplicativo instantâneo usando o Google Play Instant, você pode iniciá-lo da seguinte maneira:
Para KOTLIN
fonte
Uri.parse("https://play.google.com/store/apps/details?id=
. Em alguns dispositivos, ele abre o navegador da Web em vez do Play Market.Como os documentos oficiais usam em
https://
vez demarket://
, isso combina a resposta de Eric e M3-n50 com a reutilização de código (não se repita):Ele tenta abrir com o aplicativo GPlay, se existir, e volta ao padrão.
fonte
Solução pronta para uso:
Com base na resposta de Eric.
fonte
Kotlin:
Extensão:
Método:
fonte
Se você deseja abrir a Google Play Store no seu aplicativo, use este comando diretamente:,
market://details?gotohome=com.yourAppName
ele abrirá as páginas da loja no Google Play.Mostrar todos os aplicativos de um editor específico
Pesquise aplicativos que usam a consulta em seu título ou descrição
Referência: https://tricklio.com/market-details-gotohome-1/
fonte
Kotlin
fonte
fonte
Minha função de entenção kotlin para esse fim
E na sua atividade
fonte
Aqui está o código final das respostas acima que tentam abrir o aplicativo pela primeira vez usando o aplicativo Google Play Store e, especificamente, a Play Store, se falhar, iniciará a exibição de ação usando a versão da web: Créditos para @Eric, @Jonathan Caballero
fonte
Este link abrirá o aplicativo automaticamente no mercado: // se você estiver no Android e no navegador se estiver no PC.
fonte
https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.app.id&ddl=1&pcampaignid=web_ddl_1
Eu combinei tanto Berťák e Stefano Munarini resposta para criar uma solução híbrida que trata tanto Classificar esta App e mostrar mais App cenário.
Uso
fonte
Povos, não se esqueça que você pode realmente obter algo mais com isso. Quero dizer, rastreamento UTM, por exemplo. https://developers.google.com/analytics/devguides/collection/android/v4/campaigns
fonte
Uma versão kotlin com fallback e sintaxe atual
fonte