2017-02-20 1 views
0

Je travaille avec un lien universel dans iOS. Il fonctionne très bien à partir du navigateur Safari et des messages.Liens universels (Facebook, Twitter, LinkedIn) dans iOS

de configuration du serveur

Je vais avoir un serveur en cours d'exécution en ligne. Pour associer de manière sécurisée mon application iOS à un serveur, Apple exige que vous mettiez à disposition un fichier de configuration, appelé apple-app-site-association. Ceci est un fichier JSON qui décrit le domaine et les routes prises en charge.

Le fichier apple-app-site-association doit être accessible via HTTPS, sans redirection, sur https: // {domaine}/apple-app-site-association.

Le fichier ressemble à ceci:

{ 
    "applinks": { 
     "apps": [], 
     "details": [ 
     { 
      "appID": "**********.com.domain.appname”, 
       "paths": ["*"] 
     } 
     ] 
    } 
} 

NOTE - Je n'append .json au nom du fichier apple-app-site association.

Et également configurer l'application iOS avec succès.

Mon exigence est, j'ai partagé le lien de mon application à Facebook. Lorsque les utilisateurs tapent sur le lien de Facebook, il devrait ouvrir l'application lorsque l'application est disponible sur le téléphone ou il devrait être ouvert à partir du navigateur.

Maintenant, mon problème est:

Étape 1: Je partageais le lien de mon application à Facebook.

Étape 2: Je me suis connecté à Facebook à partir de Safari. Lorsque j'appuie sur le lien, mon application s'ouvre.

Étape 3: Si je fais la même chose dans l'application Facebook. Il ouvre à l'intérieur de la page Web Facebook. Mais j'ai besoin d'être ouvert mon application.

+0

J'ai écrit un document de solution détaillé sous cette question: https://stackoverflow.com/questions/46266797/deeplink-solution-for-ios-and-android-apps-works-in-facebook –

Répondre

4

Il s'agit d'un problème très courant: l'application Facebook ne prend pas en charge Universal Linking sur l'application. Comme vous le voyez, vous vous retrouverez dans le webview à chaque fois. C'est un problème avec de nombreuses applications qui forcent le contenu Web à être ouvert dans des vues Web captives. Certaines applications, telles que Slack, offrent un paramètre permettant d'ouvrir le contenu Web dans Safari au lieu de Webview captif. L'application Facebook ne fournit pas cette option.

La meilleure expérience utilisateur que j'ai vu pour ce type de situation est de présenter votre propre page web dans le webview. La page Web présentée a un lien universel, et en appuyant sur ce lien, les utilisateurs peuvent ouvrir votre application. La branche répond aux besoins de cette page Web supplémentaire en fournissant à ses partenaires des «Deepviews» (voir: https://dev.branch.io/features/deepviews/overview/). Vous pourriez bien sûr créer quelque chose de similaire.