2012-12-13 1 views
5

Ich suche nach einer Möglichkeit, von einer Website herauszufinden, ob eine Apple App auf dem Gerät installiert wurde oder nicht. Dies könnte entweder in der Form eines Links sein, der den Benutzer an den App Store sendet und von dort an die fragliche App weiterleitet, oder einer Erkennungsmethode, die den Benutzer dazu auffordert, die App zu installieren, wenn sie als fehlend erkannt wurde. Der Schlüssel, nach dem ich suche, sind keine Fehlermeldungen (wenn möglich), aber noch wichtiger ist, dass der Benutzer nicht aufgefordert wird, die App zu installieren, wenn sie tatsächlich installiert ist.Wie kann ich Benutzer zum App Store senden, um eine App zu installieren, oder zur App mit Variablen von einer Website?

Die allgemein akzeptierte Lösung (Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps?) funktioniert seit der Veröffentlichung von IOS 6 oder Chrome für iPhone/iPad/iPod Touch nicht.

Jede mögliche Hilfe bei diesem Problem dankbar empfangen würde. :)

+0

Von iOS 6 können Sie Metadaten der App, die Sie Ihre HTML wollen hinzuzufügen und das Betriebssystem wird ein Banner zeigen lädt die App zu öffnen oder herunterladen je nachdem es installiert wird oder nicht. – Moxy

Antwort

0

können Sie einen Custom URL Scheme verwenden, das zu erreichen.

Auf der Javascript-Seite (Web) Sie Javascript Beispiel auf der folgenden Q & A (Antwort von Ievgen) präsentiert verwenden können: Determine if an app exists and launch that app on iOS

+0

Die Frage besteht darin, es von einer Website zu bestimmen. – Moxy

+0

10 @Moxy Die Antwort deckt das auch ab. –

+0

Entschuldigung, ich habe diesen Teil nicht gelesen. – Moxy

0

Hier ist ein konkretes Beispiel für die Seite, die Sie müssten auf Gastgeber Ihr Server und verknüpfen Sie in E-Mails, Social Media, etc. Ersetzen Sie einfach in der URI Ihrer App und Ihrem App Store Link. Beachten Sie, dass der Iframe auf mehr Browsern funktioniert.

<!DOCTYPE html> 
<html> 
    <body> 
     <script type="text/javascript"> 
      window.onload = function() { 
       // Deep link to your app goes here 
       document.getElementById("l").src = "my_app://"; 

       setTimeout(function() { 
        // Link to the App Store should go here -- only fires if deep link fails     
        window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8"; 
       }, 500); 
      }; 
     </script> 
     <iframe id="l" width="1" height="1" style="visibility:hidden"></iframe> 
    </body> 
</html> 

Also, wenn der Benutzer der App installiert ist, die Verbindung mit dem URI erfolgreich sein wird, und Sie werden den Browser vor dem Skript zum Umleiten auf den App Store kann ausgelöst werden, existieren. Wenn der Benutzer Ihre App nicht hat, ist die Weiterleitung erfolgreich (nach einer kurzen hässlichen Fehlermeldung).

Es gibt eine zweite Möglichkeit (die vermeidet die Fehlermeldungen), die Cookies zuerst und die Javascript-Umleitung nur als Fallback verwendet. Hier ist die Logik:

Wenn ein Benutzer ohne die App zunächst auf einem Link zu Ihrer App klopft, er oder sie direkt zum App Store umgeleitet. Dies wird erreicht, indem ein Link zu Ihrer App eine dynamisch generierte Seite auf Ihren Servern mit der Weiterleitung ist. Sie erstellen einen Cookie und protokollieren einen "digitalen Fingerabdruck" der IP-Adresse, Betriebssystem, Betriebssystemversion usw. auf Ihrem Backend.

Wenn der Benutzer die App installiert und öffnet es, Sie sammeln und einen anderen „digitalen Fingerabdruck“ zu Ihrem Backend senden. Nun weiß Ihr Backend, dass der Link installiert ist. Bei nachfolgenden Besuchen von Links, die mit Ihrer App verknüpft sind, stellen Ihre Server sicher, dass die dynamisch generierte Redirect-Seite basierend auf dem mit der Anfrage gesendeten Cookie zur App und nicht zum App Store führt.

Dies vermeidet die hässliche Umleitung beinhaltet aber eine Tonne mehr Arbeit. Ich arbeite bei Branch, wo wir das gebaut haben und es allen Entwicklern anbieten, die es verwenden möchten. Wenn Sie Fragen zum Erstellen von Grund auf neu haben, zögern Sie nicht, zu erreichen.

Verwandte Themen