2010-08-19 11 views
8

Come utente, mi piace molto il modo in cui il sito web dell'Apple App Store su un browser può dire se ho installato iTunes o meno e posso agire di conseguenza.In che modo il sito web di App Store sa se è installato iTunes?

Per esempio, se vado alla pagina di un app come "Remember the Milk": http://itunes.apple.com/app/remember-the-milk/id293561396?mt=8 e quindi fare clic su "Visualizza in iTunes" pulsante,

  1. Se ho installato iTunes, lo farà avvia il collegamento in iTunes
  2. Se non ho iTunes, vengo reindirizzato a una pagina che mi informa che devo scaricare/installare prima iTunes.

Sto cercando di fare qualcosa di molto simile con un nostro prodotto. Abbiamo studiato utilizzando url procols come nome_app: // url_to_open e questo funziona davvero bene se l'utente ha già installato il programma e il protocollo url è registrato su di esso.

Tuttavia, se non lo fanno, ricevono un messaggio di errore che non dice loro in modo specifico di cosa hanno bisogno.

Mi piacerebbe avere più dell'esperienza di iTunes in cui posso aiutare a indirizzare i nostri utenti in modo più informativo.

risposta

8

Guardando le risorse Javascript collegate alla pagina, esiste una funzione denominata "DetectItunesDetected". Sembra di:

  • vedere se un cookie con il nome "iTunesPresent" è impostato e il computer è un Macintosh (controllando l'user agent)
  • vedere se Internet Explorer è in esecuzione (di nuovo, user agent) e il componente ActiveX di iTunes è installato
  • vedi se Firefox è in esecuzione e il plug-in di iTunes per i browser basati su Mozilla è installato.

Se la funzione restituisce true, sostituisce i collegamenti HTTP pertinenti con le varianti ITMS.

0

Il sito Web non conosce, utilizza il protocollo itms.

Per creare il proprio, è necessario registrare la propria applicazione nel sistema operativo e stabilire quale protocollo gestirà. A good article on that. La spiegazione di Windows funziona con tutti i browser (che usano il registro). Gli altri sono solo per Firefox.

0

Non riesco a testarlo in questo momento, ma potresti provare a caricare un'immagine dalla tua applicazione usando il suo protocollo, se l'immagine non può essere caricata, reindirizzare.

<img src='yourProtocol://image.jpg' onerror='window.location="yoursite.com/pageiffails.php";' /> 
Problemi correlati