2012-12-13 12 views
5

Szukam sposobu, ze strony internetowej, dowiedzieć się, czy aplikacja Apple została zainstalowana na urządzeniu, czy nie. Może to mieć postać linku, który przesyła użytkownika do sklepu App Store i do niego dalej, do danej aplikacji lub metody wykrywania, która skłoniła użytkownika do zainstalowania aplikacji, gdy zostanie wykryta jako brakująca. Kluczową rzeczą, której szukam, nie są komunikaty o błędach (jeśli to możliwe), ale co ważniejsze, użytkownik nie jest proszony o zainstalowanie aplikacji, jeśli rzeczywiście ją zainstalował.Jak mogę wysłać użytkownika do App Store, aby zainstalować aplikację lub aplikację ze zmiennymi ze strony internetowej?

Powszechnie akceptowane rozwiązanie (Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps?) nie działa od czasu premiery systemu IOS 6 lub Chrome na iPhone/iPad/iPod Touch.

Każda pomoc dotycząca tego problemu zostanie z wdzięcznością przyjęta. :)

+0

Z iOS 6 można dodawać metadane aplikacji do html, a system operacyjny wyświetli baner zapraszający do otwarcia aplikacji lub pobrania go w zależności od tego, czy jest zainstalowany, czy nie. – Moxy

Odpowiedz

0

Możesz użyć Custom URL Scheme, aby to osiągnąć.

Javascript stronie (www) można posłużyć się przykładem javascript przedstawione na poniższym Q & A (Odpowiedz przez Ievgen): Determine if an app exists and launch that app on iOS

+0

Pytanie dotyczy określenia go ze strony internetowej. – Moxy

+0

@Moxy Odpowiedź również obejmuje to. –

+0

Przepraszam, że nie czytałem tej części. – Moxy

0

Oto konkretny przykład strony trzeba by zorganizować na Twój serwer i link do e-maili, mediów społecznościowych itp. Wystarczy zastąpić identyfikator URI aplikacji i swój link do App Store. Zwróć uwagę, że element iframe działa w większej liczbie przeglądarek.

<!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> 

Tak więc, jeśli użytkownik ma zainstalowana aplikacja, link z URI uda i będzie istnieć przeglądarkę przed skryptem na przekierowanie do App Store mogą być wywołane. Jeśli użytkownik nie ma Twojej aplikacji, przekierowanie powiedzie się (po krótkim brzydkim komunikacie o błędzie).

Istnieje druga możliwość (która pozwala uniknąć komunikatów o błędach), która polega na plikach cookie jako pierwsze i przekierowaniu javascript tylko jako element zapasowy. Oto logika:

Gdy użytkownik bez aplikacji najpierw dotyka linku do Twojej aplikacji, zostaje przekierowany bezpośrednio do sklepu App Store. Jest to realizowane przez link do Twojej aplikacji będący dynamicznie generowaną stroną na twoich serwerach z przekierowaniem. Tworzysz plik cookie i rejestrujesz "cyfrowy odcisk palca" adresu IP, systemu operacyjnego, wersji systemu operacyjnego itp. Na twoim serwerze.

Gdy użytkownik instaluje aplikację i otwiera ją, zbiera i wysyła kolejny "cyfrowy odcisk palca" do swojego zaplecza. Teraz twój backend wie, że link jest zainstalowany Podczas kolejnych wizyt w linkach powiązanych z Twoją aplikacją, twoje serwery upewniają się, że dynamicznie generowane przekierowanie prowadzi do aplikacji, a nie do App Store, na podstawie pliku cookie wysłanego wraz z żądaniem.

Pozwala to uniknąć brzydkiego przekierowania, ale wymaga więcej pracy. Pracuję pod adresem Branch, w którym to stworzyliśmy i oferujemy go programistom, którzy chcą z niego korzystać. Jeśli masz pytania dotyczące budowy od podstaw, skontaktuj się z nami.

Powiązane problemy