Ich muss einen Kontext über Safari festlegen (ein Kontext-Token) und dann diesen Kontext von einer nativen iOS-App lesen. Was sind die besten Praktiken dafür?
Ein paar Gedanken bis jetzt:
Ich würde eine dieser beiden Optionen vorschlagen:
oder
Übergeben Sie das Kontext-Token über ein URL-Schema sofort an die App, indem Sie Ihre App als Protokoll-Handler registrieren. Weitere Informationen finden Sie unter hier
Vorgeschlagener Weg:
Es gibt keine bewährte Methode, Daten direkt zwischen Safari und einer nativen App direkt zu teilen, und das ist einfach nicht beabsichtigt. Alle Cookies und Speicher sind für jede App sandboxed und Safari hat eine eigene Sandbox.
Es ist die beste und sauberste Art, Ihren Server dazu zu bringen, die Aufgabe über Benutzerkonten zu erledigen. Deshalb haben Sie Benutzerkonten. Wenn Sie den Protokoll-Handler zum Lesen bestimmter URLs nicht ausprobiert haben, könnte das auch nützlich sein, denke ich.
Könnte die App beim ersten Start eine URL auf den Server werfen, die den Benutzer in Safari umleitet, und IP-Adressen, Zeit, iOS-Version usw. vergleichen, um eine ungefähre Übereinstimmung zu erzielen? Wenn eine ungefähre Übereinstimmung nicht ausreichend ist, könnten Sie, wenn Sie eine ungefähre Übereinstimmung sehen, Ihre App mit einer Safari öffnen, um ihre Identifizierung über einen Cookie zu bestätigen.
Mit WebViewJavascriptBridge können Sie ganz einfach Nachrichten zwischen einem UIWebView und Ihrer Muttersprache senden.
In Ihrem Fall ist jedoch der Vorschlag der akzeptierten Antwort, ein benutzerdefiniertes URL-Schema zu verwenden (direkt von E-Mail zu App, nach der Installation), am sinnvollsten.