web-dev-qa-db-fra.com

Est-il possible de gérer vos propres schémas d'URL http dans iOS?

iTunes, App Store et YouTube sur iOS enregistrent clairement des schémas d'URL http: // ... pour ouvrir leurs applications.

Quelqu'un peut-il faire cela, pas seulement votre propre protocole?

La raison pour laquelle je veux le faire est que je travaille sur une application pour un festival. Je souhaite "intercepter" les liens vers des pages spécifiques du site Web et lancer l'application à la place, si elle est installée.

Jusqu'à présent, je n'ai pas eu beaucoup de chance

66
baswell

La façon dont vous pouvez le faire pour les URL "http: //" (et ce que je pense Apple et Spotify font) c'est de:

  1. Enregistrez un schéma d'URL personnalisé comme les autres réponses l'ont montré .

  2. Configurez votre URL HTTP pour pointer vers une véritable page Web.

  3. Mettez un script sur cette page pour rediriger vers votre URL personnalisée si elle est sur iOS.

Par exemple, voici un exemple de page qui vous mènera à l'application Twitter pour un utilisateur particulier ou le site Web Twitter selon que vous êtes sur le Web ou sur votre appareil iOS:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Twitter</title>
</head>
<body>
    <script type="text/javascript">
        var username = document.location.search.substr(1);
        document.location.replace(
            "standalone" in window.navigator ?
            'Twitter:@'+username :              // iOS
            'http://Twitter.com/'+username);    // others
    </script>
</body>
</html>

Essayez-le ici: http://bl.ocks.org/d/3153819/?mckamey

61
mckamey

iOS 9 prend en charge niversal Links , ce qui permet à iOS de lancer une application basée sur une norme http:// URL (basée sur le nom d'hôte) sans que l'utilisateur n'ait à passer par Safari.

Cela nécessite une configuration de serveur Web (vous avez besoin d'un site Web), mais une fois la configuration effectuée, l'application enregistrée ouvrira le lien au lieu de Safari.

Pour les utilisateurs qui n'ont pas iOS 9, vous pouvez utiliser Smart Banners pour faciliter l'expérience.

43
Marcus Adams

Malheureusement, je ne pense pas que vous puissiez faire cela. Vous pouvez enregistrer votre propre schéma personnalisé, par exemple votre Festival: // et transmettre des données du monde extérieur (SMS, e-mail, autres applications) à votre application.

J'ai écrit un blog à ce sujet ici: tilisation de schémas personnalisés et transfert de données entre les applications iOS.

J'espère que ça aide.

4
Marius Ciocanel

Non, vous ne pouvez enregistrer que des schémas personnalisés.

Et je ne vois pas Apple faire ça non plus ...

2
Eiko