2017-05-30 1 views
2

Mon application prend en charge la liaison universelle et, dans la plupart des cas, fonctionne sans aucun problème, en appuyant sur un lien ouvre l'application comme il se doit.iOS Universal Links cesse parfois de fonctionner

Mais parfois, je ne sais pas pourquoi, ça cesse de fonctionner.

Il est arrivé plusieurs fois à l'un des utilisateurs, en tapant sur le lien a cessé d'ouvrir l'application et à la place, il ouvre le web.
Et à partir de ce moment, il n'y a rien que vous puissiez faire pour le faire fonctionner à nouveau.

Je sais que si vous tapez sur le lien dans le coin supérieur droit de la barre d'état, il désactive la liaison universelle et à partir de ce moment, en tapant sur un lien ouvrira le web. et pour un lien universel re-anable, vous pouvez appuyer sur le lien sur l'application Notes (par exemple) et appuyez sur le bouton "Ouvrir dans MyApp".

Mais cela ne semble pas être le cas, l'utilisateur m'a dit qu'il n'appuie pas sur le lien de la barre d'état, et encore plus bizarre, en essayant de réactiver la liaison universelle en appuyant sur le lien dans l'application Notes, le bouton "Ouvrir dans MyApp" est manquant.

Des idées qui pourraient causer ce problème?

+0

I Excusez-moi, en raison du manque de réputation, je laisse un commentaire ici. La mine a cessé de fonctionner un jour, bien que l'association de sites d'application de pommes semblait toujours valide. Ensuite, j'ai trouvé que lorsque je cliquais longuement sur un lien Web, il me donnait des options à choisir, où j'ai trouvé "Ouvrir dans 'MY APP'". –

Répondre

2

Sur la base de mon expérience précédente, il pourrait se produire pour diverses raisons:

  • Très probablement: apple-app-site-association n'est pas disponible pour l'utilisateur ou est disponible avec connexion non sécurisée. Voici les origines possibles de ce problème, je suis sûr qu'il ya d'autres:
    • utilisateur ne dispose pas d'Internet ou d'une connexion à votre fichier site/apple-app-site-association sur votre site. Même s'il doit rediriger vers votre application, la fonctionnalité de liens universels doit vérifier l'existence de ce fichier sur le site. C'est fait la première fois à l'installation de l'application et chaque fois que vous ouvrez votre lien (j'ai vérifié sur iOS10.3 avec Charles). Notez qu'il n'attend pas que la vérification soit terminée et affiche ou n'affiche pas le bouton "Ouvrir dans MyApp" basé sur la vérification précédente. Même si l'utilisateur a accès à Internet, votre site pourrait être bloqué par un pare-feu ou quelque chose.
    • L'utilisateur a accès au dossier apple-app-site-association, mais il y accéder à partir d'un réseau ou via un proxy qui vous oblige à accepter un certain certificat afin de décrypter l'accès HTTPS. Par conséquent, votre trafic HTTPS est devenu non sécurisé. iOS vérifie et échoue la validation du fichier apple-app-site-association.
    • L'utilisateur a accès au dossier apple-app-site-association maintenant avec une bonne connexion sécurisée, mais l'accès précédente a échoué pour des raisons antérieures -> utilisateur ne voit pas votre application a ouvert cette fois-ci ou sur le bouton « Ouvrir dans MyApp » dans le menu contextuel raisons que j'ai décrites auparavant. Comment réparer ça? Aucune idée, essayez quelques fois tout le temps.
  • Vous avez déjà refusé cette option, mais uniquement pour les futurs lecteurs. Si l'utilisateur appuie sur le bouton en haut à droite avec le nom du site - toutes les futures transitions redirigera l'utilisateur vers Safari au lieu de votre application, jusqu'à ce que l'utilisateur appuie à nouveau sur ce bouton. Fondamentalement, iOS enregistre le dernier choix de l'utilisateur.

Il y a beaucoup d'autres raisons pour cela de ne pas travailler, mais dans ces cas, il y aura des mesures spécifiques à 100% pour se reproduire, comme ne fonctionne pas pour certains /path ou pour les candidats debug/release ou pour le test serveur. Il semble que ce n'est pas votre cas, donc je ne vais pas le couvrir ici.

Liens utiles (tout à fait de beaucoup de répétitions, mais si vous coincé, il vaut la peine de le répéter):

+0

merci pour votre réponse, je ne pense pas que c'est un problème de réseau/internet, car une fois qu'il arrive, il ne fonctionnera pas sur n'importe quel réseau. Peut-être que cela correspond à la troisième option que vous avez mentionnée, êtes-vous sûr que c'est bien? Si l'accès précédent a échoué, tout accès futur échouera également? – Eyal

+0

@Eyal Echec de la tentative suivante. La raison pour cela, iOS n'attend pas que le contrôle 'apple-app-site-association' soit terminé (rappelez-vous, c'est une opération asynchrone) et affiche le résultat immédiatement, donc ce résultat est basé sur la dernière vérification. – Ossir