He abierto la tienda Google Play usando el siguiente código
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);.
Pero me muestra una Vista de acción completa para seleccionar la opción (navegador / play store). Necesito abrir la aplicación en Play Store directamente.
android
android-intent
google-play
Rajesh Kumar
fuente
fuente
Respuestas:
Puedes hacer esto usando el
market://
prefijo .Usamos un
try/catch
bloque aquí porque seException
lanzará si Play Store no está instalado en el dispositivo de destino.NOTA : cualquier aplicación puede registrarse como capaz de manejar el
market://details?id=<appId>
Uri, si desea apuntar específicamente a Google Play, verifique la respuesta de Berťákfuente
market://search?q=pub:"+devName
yhttp://play.google.com/store/search?q=pub:"+devName
appPackageName
de hechoBuildConfig.APPLICATION_ID
. NoContext
/Activity
dependencias, lo que reduce el riesgo de pérdidas de memoria.Muchas respuestas aquí sugieren usar
Uri.parse("market://details?id=" + appPackageName))
para abrir Google Play, pero creo que, de hecho, es insuficiente :Algunas aplicaciones de terceros pueden usar sus propios filtros de intención con el
"market://"
esquema definido , por lo tanto, pueden procesar Uri suministrado en lugar de Google Play (Experimenté esta situación con, por ejemplo, la aplicación SnapPea). La pregunta es "¿Cómo abrir Google Play Store?", Así que supongo que no desea abrir ninguna otra aplicación. Tenga en cuenta también que, por ejemplo, la calificación de la aplicación solo es relevante en la aplicación GP Store, etc.Para abrir Google Play Y SOLO Google Play utilizo este método:
El punto es que cuando más aplicaciones además de Google Play pueden abrir nuestra intención, se omite el diálogo de selección de aplicaciones y la aplicación GP se inicia directamente.
ACTUALIZACIÓN: a veces parece que solo abre la aplicación GP, sin abrir el perfil de la aplicación. Como TrevorWiley sugirió en su comentario,
Intent.FLAG_ACTIVITY_CLEAR_TOP
podría solucionar el problema. (No lo probé yo mismo todavía ...)Vea esta respuesta para entender lo que
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
hace.fuente
rateIntent.setPackage("com.android.vending")
sueles asegurarte de que la aplicación PlayStore manejará esta intención, en lugar de todo este código?Vaya al enlace oficial del desarrollador de Android como tutorial paso a paso, vea y obtenga el código de su paquete de aplicaciones de Play Store si existe o si las aplicaciones de Play Store no existen, abra la aplicación desde el navegador web.
Enlace oficial del desarrollador de Android
https://developer.android.com/distribute/tools/promote/linking.html
Vinculación a una página de aplicación
Desde un sitio web:
https://play.google.com/store/apps/details?id=<package_name>
Desde una aplicación de Android:
market://details?id=<package_name>
Vinculación a una lista de productos
Desde un sitio web:
https://play.google.com/store/search?q=pub:<publisher_name>
Desde una aplicación de Android:
market://search?q=pub:<publisher_name>
Vinculación a un resultado de búsqueda
Desde un sitio web:
https://play.google.com/store/search?q=<search_query>&c=apps
Desde una aplicación de Android:
market://search?q=<seach_query>&c=apps
fuente
market
, no encontrará ninguna solución. Creo que la nueva forma es disparar una intención más genérica developer.android.com/distribute/marketing-tools/… . Las versiones más recientes de la aplicación Play Store probablemente tengan un filtro de intención para este URIhttps://play.google.com/store/apps/details?id=com.example.android
prueba esto
fuente
Todas las respuestas anteriores abren Google Play en una nueva vista de la misma aplicación, si realmente desea abrir Google Play (o cualquier otra aplicación) de forma independiente:
La parte importante es que realmente abre Google Play o cualquier otra aplicación de forma independiente.
La mayor parte de lo que he visto usa el enfoque de las otras respuestas y no era lo que necesitaba, espero que esto ayude a alguien.
Saludos.
fuente
this.cordova
? ¿Dónde están las declaraciones de variables? ¿Dónde secallback
declara y define?Puede verificar si la aplicación Google Play Store está instalada y, si este es el caso, puede usar el protocolo "market: //" .
fuente
Si bien la respuesta de Eric es correcta y el código de Berťák también funciona. Creo que esto combina ambos con más elegancia.
Al usarlo
setPackage
, obligas al dispositivo a usar Play Store. Si no hay una Play Store instalada, laException
capturaremos.fuente
https://play.google.com/store/apps/details?id=
lugar demarket:
¿Cómo es que? developer.android.com/distribute/marketing-tools/… Sigue siendo una respuesta completa y breve.use market: //
fuente
Tu puedes hacer:
obtener referencia aquí :
También puede probar el enfoque descrito en la respuesta aceptada de esta pregunta: No se puede determinar si Google Play Store está instalado o no en el dispositivo Android
fuente
Muy tarde en la fiesta Los documentos oficiales están aquí. Y el código descrito es
A medida que se configura esta intención, pasar
"com.android.vending"
aIntent.setPackage()
fin de que los usuarios ven los detalles de su aplicación en la aplicación de Google Play Store en lugar de un selector . para KOTLINSi ha publicado una aplicación instantánea con Google Play Instant, puede iniciar la aplicación de la siguiente manera:
Para KOTLIN
fuente
Uri.parse("https://play.google.com/store/apps/details?id=
,. En algunos dispositivos, abre el navegador web en lugar de Play Market.Como los documentos oficiales usan en
https://
lugar demarket://
, esto combina la respuesta de Eric y M3-n50 con la reutilización del código (no lo repita):Intenta abrirse con la aplicación GPlay si existe y vuelve a los valores predeterminados.
fuente
Solución lista para usar:
Basado en la respuesta de Eric.
fuente
Kotlin:
Extensión:
Método:
fuente
Si desea abrir la tienda Google Play desde su aplicación, utilice este comando directamente:
market://details?gotohome=com.yourAppName
abrirá las páginas de la tienda Google Play de su aplicación.Mostrar todas las aplicaciones de un editor específico
Busque aplicaciones que usan la consulta en su título o descripción
Referencia: https://tricklio.com/market-details-gotohome-1/
fuente
Kotlin
fuente
fuente
Mi función de entretenimiento kotlin para este propósito
Y en tu actividad
fuente
Aquí está el código final de las respuestas anteriores que primero intenta abrir la aplicación usando la aplicación Google Play Store y específicamente Play Store, si falla, comenzará la vista de acción usando la versión web: Créditos a @Eric, @Jonathan Caballero
fuente
Este enlace abrirá la aplicación automáticamente en el mercado: // si está en Android y en el navegador si está en la PC.
fuente
https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.app.id&ddl=1&pcampaignid=web_ddl_1
He combinado la respuesta de Berťák y Stefano Munarini para crear una solución híbrida que maneja tanto el escenario Valorar esta aplicación como Mostrar más aplicación .
Uso
fuente
Pueblos, no olviden que en realidad podrían obtener algo más de eso. Me refiero al seguimiento UTM, por ejemplo. https://developers.google.com/analytics/devguides/collection/android/v4/campaigns
fuente
Una versión de Kotlin con respaldo y sintaxis actual
fuente