J'ai ouvert le Google Play Store en utilisant le code suivant
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);.
Mais il me montre une vue d'action complète pour sélectionner l'option (navigateur / magasin de lecture). Je dois ouvrir l'application directement sur Play Store.
android
android-intent
google-play
Rajesh Kumar
la source
la source
Réponses:
Vous pouvez le faire en utilisant le
market://
préfixe .Nous utilisons un
try/catch
bloc ici car unException
sera levé si le Play Store n'est pas installé sur le périphérique cible.REMARQUE : toute application peut s'inscrire comme capable de gérer l'
market://details?id=<appId>
URI, si vous souhaitez cibler spécifiquement Google Play, vérifiez la réponse Berťákla source
market://search?q=pub:"+devName
ethttp://play.google.com/store/search?q=pub:"+devName
appPackageName
c'est en faitBuildConfig.APPLICATION_ID
. AucuneContext
/Activity
dépendances, réduisant le risque de fuites de mémoire.De nombreuses réponses suggèrent ici
Uri.parse("market://details?id=" + appPackageName))
d'ouvrir Google Play, mais je pense que c'est insuffisant en fait:Certaines applications tierces peuvent utiliser ses propres filtres d'intention avec un
"market://"
schéma défini , elles peuvent donc traiter l'URI fourni au lieu de Google Play (j'ai rencontré cette situation avec l'application egSnapPea). La question est "Comment ouvrir le Google Play Store?", Je suppose donc que vous ne voulez ouvrir aucune autre application. Veuillez également noter que, par exemple, la classification des applications n'est pertinente que dans l'application GP Store, etc.Pour ouvrir Google Play ET UNIQUEMENT Google Play, j'utilise cette méthode:
Le fait est que lorsque plus d'applications à côté de Google Play peuvent ouvrir notre intention, la boîte de dialogue de sélection d'application est ignorée et l'application GP est démarrée directement.
MISE À JOUR: Parfois, il semble qu'il ouvre uniquement l'application GP, sans ouvrir le profil de l'application. Comme TrevorWiley l'a suggéré dans son commentaire,
Intent.FLAG_ACTIVITY_CLEAR_TOP
pourrait résoudre le problème. (Je ne l'ai pas encore testé moi-même ...)Voir cette réponse pour comprendre ce qui se
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
passe.la source
rateIntent.setPackage("com.android.vending")
pour être sûr que l'application PlayStore va gérer cette intention, au lieu de tout ce code?Allez sur le lien officiel du développeur Android comme tutoriel étape par étape, voyez et obtenez le code de votre package d'application sur Play Store s'il existe ou les applications Play Store n'existent pas, puis ouvrez l'application à partir du navigateur Web.
Lien officiel du développeur Android
https://developer.android.com/distribute/tools/promote/linking.html
Lien vers une page d'application
À partir d'un site Web:
https://play.google.com/store/apps/details?id=<package_name>
Depuis une application Android:
market://details?id=<package_name>
Lien vers une liste de produits
À partir d'un site Web:
https://play.google.com/store/search?q=pub:<publisher_name>
Depuis une application Android:
market://search?q=pub:<publisher_name>
Lien vers un résultat de recherche
À partir d'un site Web:
https://play.google.com/store/search?q=<search_query>&c=apps
Depuis une application Android:
market://search?q=<seach_query>&c=apps
la source
market
vous ne trouverez aucune solution. Je pense que la nouvelle façon est de lancer une intention plus générique developer.android.com/distribute/marketing-tools/… . Les versions plus récentes de l'application Play Store ont probablement un filtre d'intention pour cet URIhttps://play.google.com/store/apps/details?id=com.example.android
essaye ça
la source
Toutes les réponses ci-dessus ouvrent Google Play dans une nouvelle vue de la même application, si vous souhaitez réellement ouvrir Google Play (ou toute autre application) indépendamment:
La partie importante est que Google ouvre réellement Google Play ou toute autre application indépendamment.
La plupart de ce que j'ai vu utilise l'approche des autres réponses et ce n'était pas ce dont j'avais besoin j'espère que cela aide quelqu'un.
Cordialement.
la source
this.cordova
? Où sont les déclarations de variables? Où estcallback
déclaré et défini?Vous pouvez vérifier si l'application Google Play Store est installée et, si c'est le cas, vous pouvez utiliser le protocole "market: //" .
la source
Alors que la réponse d'Eric est correcte et que le code de Berťák fonctionne également. Je pense que cela combine les deux plus élégamment.
En utilisant
setPackage
, vous forcez l'appareil à utiliser le Play Store. Si aucun Play Store n'est installé, leException
sera capturé.la source
https://play.google.com/store/apps/details?id=
au lieu demarket:
Comment se fait-il? developer.android.com/distribute/marketing-tools/… Encore une réponse complète et courte.utiliser le marché: //
la source
Tu peux faire:
obtenir la référence ici :
Vous pouvez également essayer l'approche décrite dans la réponse acceptée à cette question: Impossible de déterminer si Google Play Store est installé ou non sur un appareil Android
la source
Très tard dans la soirée, les documents officiels sont là. Et le code décrit est
Lorsque vous configurez cette intention, passez
"com.android.vending"
àIntent.setPackage()
afin que les utilisateurs voient les détails de votre application dans l'application Google Play Store au lieu d'un sélecteur . pour KOTLINSi vous avez publié une application instantanée à l'aide de Google Play Instant, vous pouvez lancer l'application comme suit:
Pour KOTLIN
la source
Uri.parse("https://play.google.com/store/apps/details?id=
. Sur certains appareils, il ouvre un navigateur Web au lieu de Play Market.Comme les documents officiels utilisent à la
https://
place demarket://
, cela combine la réponse d'Eric et M3-n50 avec la réutilisation de code (ne vous répétez pas):Il essaie de s'ouvrir avec l'application GPlay si elle existe et revient à la valeur par défaut.
la source
Solution prête à l'emploi:
Basé sur la réponse d'Eric.
la source
Kotlin:
Extension:
Méthode:
la source
Si vous souhaitez ouvrir Google Play Store à partir de votre application, utilisez directement cette commande:,
market://details?gotohome=com.yourAppName
cela ouvrira les pages de Google Play Store de votre application .Afficher toutes les applications d'un éditeur spécifique
Rechercher des applications utilisant la requête sur son titre ou sa description
Référence: https://tricklio.com/market-details-gotohome-1/
la source
Kotlin
la source
la source
Ma fonction d'entension kotlin à cet effet
Et dans votre activité
la source
Voici le code final des réponses ci-dessus qui tente pour la première fois d'ouvrir l'application en utilisant l'application Google Play Store et en particulier Play Store, s'il échoue, il démarrera la vue d'action en utilisant la version Web: Crédits à @Eric, @Jonathan Caballero
la source
Ce lien ouvrira automatiquement l'application sur le marché: // si vous êtes sur Android et dans le navigateur si vous êtes sur PC.
la source
https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.app.id&ddl=1&pcampaignid=web_ddl_1
J'ai combiné la réponse de Berťák et Stefano Munarini à la création d'une solution hybride qui gère à la fois le scénario Noter cette application et Afficher plus d'application .
Usage
la source
Peuples, n'oubliez pas que vous pourriez en tirer quelque chose de plus. Je veux dire le suivi UTM par exemple. https://developers.google.com/analytics/devguides/collection/android/v4/campaigns
la source
Une version kotlin avec repli et syntaxe actuelle
la source