web-dev-qa-db-fra.com

Ouverture de l'application dans Google Play à partir d'un lien de redirection

Sur un appareil Android, ouverture d'un lien vers une application sur Google Play:

https://play.google.com/store/apps/details?id=com.rovio.angrybirds&hl=en

ouvrira automatiquement l'application Google Play par défaut.

Mais si vous disposez d'un lien qui redirige vers le lien Google Play, l'appareil ouvre le navigateur, puis accède à la version du navigateur de Google Play. Pourquoi ce problème se produit-il?

Malheureusement, je ne peux pas utiliser le marché: // avec des intentions qui peuvent ouvrir Play, je n'ai que le contrôle d'un lien Web.

edit: On dirait que si j'ai le lien de redirection vers le marché: // url, il peut s'ouvrir avec Google Play sur l'appareil.

Si le lien est ouvert dans le navigateur, il peut en quelque sorte rediriger vers la version navigateur de Google Play malgré le fait que market: // ne soit pas pris en charge dans le navigateur.

24
nicobatu

Fondamentalement, le https: // play .... n'est qu'une URL Web. Je soupçonne la façon dont cela fonctionne (qui est la manière standard Android fonctionne)):

  1. L'application Market Play s'inscrit pour pouvoir gérer des URL de ce type (vous pouvez vous inscrire pour gérer certaines intentions et appliquer des filtres pour définir plus précisément ce que votre application va gérer).
  2. L'application lance l'Intention avec l'URL https: // play ...
  3. L'utilisateur est présenté avec une liste de toutes les applications qui sont enregistrées pour gérer cette intention. SO, l'utilisateur est en mesure de lancer l'application Play - la première fois (sur le téléphone) l'intention https:\play ... est lancée
  4. Lorsque l'utilisateur choisit l'application pour réaliser l'intention, s'il sélectionne le navigateur (puis le définit par défaut) - le navigateur se lancera (et n'offrira pas à l'utilisateur l'option la prochaine fois).
  5. Cette valeur par défaut peut être la suivante: "Paramètres\Applications\Tous - Recherchez ensuite l'application Navigateur, sélectionnez-la, puis sélectionnez Supprimer les valeurs par défaut"

Vous pouvez soit appeler le Play Market directement avec l'intention du marché, soit utiliser la méthode URL. J'utilise personnellement la méthode URL - même s'il y a des défis supplémentaires à utiliser (comme gérer ce problème particulier).

5
Booger

Utilisation target="_top"

 <a href="market://details?id={package_name}" target="_top">App</a>
39
Jokry

Je suppose que le comportement est appliqué par Google. Les redirections permettraient potentiellement aux développeurs mal intentionnés d'installer leurs applications. Google vérifie probablement si l'utilisateur provient d'une redirection, et si oui, cela ne déclenche pas l'ouverture de l'application Play.

1
hanspeide