2017-05-30 2 views
2

Meine App unterstützt universelle Verknüpfung und in den meisten Fällen funktioniert es ohne Probleme, durch Antippen eines Links öffnet die App wie es sollte.iOS Universal Links funktioniert manchmal nicht mehr

Aber manchmal bin ich mir nicht sicher warum, es funktioniert nicht mehr.

Es geschah ein paar Mal zu einem der Benutzer, klopfte auf den Link gestoppt Öffnen der App und stattdessen öffnet es das Web.
Und von diesem Moment an gibt es nichts, was Sie tun können, damit es wieder funktioniert.

Ich weiß, dass wenn Sie auf den Link in der oberen rechten Ecke in der Statusleiste tippen, es deaktiviert die universelle Verknüpfung und von diesem Moment an auf einen Link öffnet das Web. Um eine universelle Verknüpfung zu erhalten, tippen Sie auf den Link in der Notes App (zum Beispiel) und dann auf die Schaltfläche "In MyApp öffnen".

Aber dies scheint nicht der Fall zu sein, der Benutzer sagte mir, er drückt nicht den Link in der Statusleiste, und noch seltsamer, wenn Sie versuchen, die universelle Verknüpfung durch Tippen auf den Link in Notes App zu aktivieren, Die Schaltfläche "In MyApp öffnen" fehlt.

Irgendwelche Ideen, was könnte dieses Problem verursachen?

+0

I entschuldige mich, wegen mangelndem Ruf, hinterlasse ich hier einen Kommentar. Meins hörte eines Tages auf zu arbeiten, obwohl apple-app-site-association immer noch gültig schien. Dann habe ich festgestellt, dass, als ich lange auf einen Weblink geklickt habe, ich Optionen hatte, aus denen ich wählen konnte, wo ich "Open in 'MY APP'" fand. –

Antwort

2

Aufgrund meiner bisherigen Erfahrungen es aus verschiedenen Gründen passieren könnte:

  • Wahrscheinlich: apple-app-site-association ist nicht für Benutzer zur Verfügung oder ist mit unsicheren Verbindung zur Verfügung. Hier sind mögliche Ursachen eines solchen Problem, ich bin sicher, es gibt auch andere:
    • Benutzer nicht Internet oder Verbindung zu Ihrer Website hat/apple-app-site-association Datei auf Ihrer Website. Auch wenn es auf Ihre App umleiten sollte, muss die Universal-Links-Funktion das Vorhandensein dieser Datei vor Ort prüfen. Es ist das erste Mal bei der App Installation und jedes Mal, wenn Sie Ihren Link öffnen (Ich habe auf iOS10.3 mit Charles überprüft). Beachten Sie, dass es nicht darauf wartet, dass die Prüfung abgeschlossen wird und die Schaltfläche "In MyApp öffnen" angezeigt wird oder nicht, basierend auf der vorherigen Prüfung. Selbst wenn der Benutzer das Internet aktiviert hat, könnte Ihre Website durch eine Firewall oder ähnliches blockiert werden.
    • Benutzer haben Zugriff auf apple-app-site-association Datei, aber er es von einem Netzwerk zugreifen oder über einen Proxy, dass Sie einig Zertifikat um Ihren HTTPS-Zugriff zu entschlüsseln, akzeptieren erfordert. Daher wurde Ihr HTTPS-Verkehr unsicher. iOS überprüft dies und schlägt die Validierung der apple-app-site-association Datei fehl.
    • Benutzer haben Zugriff auf apple-app-site-association Datei mit guter sicherer Verbindung jetzt, aber vorheriger Zugriff fehlgeschlagen wegen vorheriger Gründe -> Benutzer nicht sieht Ihre Anwendung dieses Mal geöffnet oder „Open in MyApp“ im Kontextmenü Gründe, die ich vorher beschrieben habe. Wie behebt man das? Keine Ahnung, versuch es ein paar Mal die ganze Zeit.
  • Sie haben diese Option bereits abgelehnt, aber nur für zukünftige Leser. Wenn der Benutzer oben rechts auf die Schaltfläche mit dem Site-Namen klickt, werden alle zukünftigen Übergänge den Benutzer zu Safari statt zu Ihrer App umleiten, bis der Nutzer erneut auf diese Schaltfläche klickt. Grundsätzlich iOS speichert letzte Benutzerauswahl.

Es gibt viele andere Gründe für das nicht funktionieren, aber in diesen Fällen wird es einige 100% spezifische Schritte zu reproduzieren, wie nicht für bestimmte /path oder für Debug/Release-Kandidaten oder für Test funktioniert Server. Es scheint, dass das nicht dein Fall ist, also werde ich es hier nicht behandeln.

Hilfreiche Links (ziemlich viel Wiederholung, aber sie stecken, wenn es lohnt sich zu wiederholen):

+0

danke für deine Antwort, ich denke nicht, es ist ein Netzwerk/Internet-Problem, denn sobald es passiert, wird es nicht in einem Netzwerk arbeiten. Vielleicht passt das zu der dritten Option, die du erwähnt hast. Bist du sicher, dass das richtig ist? Wenn einer der vorherigen Zugriffe fehlgeschlagen ist, wird auch ein zukünftiger Zugriff fehlschlagen. – Eyal

+0

@Eyal Es wird nur ein nächster Versuch fehlschlagen. Der Grund dafür ist, dass iOS nicht wartet, bis die 'app-app-site-association'-Prüfung abgeschlossen ist (denken Sie daran, es ist async-Operation) und zeigt das Ergebnis sofort an, daher basiert dieses Ergebnis auf der letzten Überprüfung. – Ossir

Verwandte Themen