Как веб-сайт App Store узнает, установлен ли iTunes? - PullRequest
8 голосов
/ 20 августа 2010

Как пользователь, мне очень нравится, как веб-сайт Apple App Store в браузере может определить, установлен ли у меня iTunes или нет, и могу ли я действовать соответствующим образом.

Например, если я захожу на страницу приложения, как«Помни о молоке»: http://itunes.apple.com/app/remember-the-milk/id293561396?mt=8 и затем нажмите кнопку «Просмотреть в iTunes»,

  1. Если у меня установлен iTunes, он запустит ссылку в iTunes
  2. Если у меня нет iTunes, меня перенаправляют на страницу, которая дает мне знать, что мне нужно сначала загрузить / установить iTunes.

Я пытаюсь сделать что-то очень похожее с продуктомиз наших.Мы исследовали использование URL-процедур, таких как app_name: // url_to_open, и это работает очень хорошо, если у пользователя уже установлена ​​программа и в ней зарегистрирован протокол url.

Однако, если они этого не делают, тогдаони получают сообщение об ошибке, которое не говорит им, что именно им нужно.

Мне бы хотелось больше узнать об iTunes, где я могу помочь нашим пользователям более информативно указывать.

Ответы [ 3 ]

8 голосов
/ 22 августа 2010

Глядя на ресурсы Javascript, связанные с этой страницей, есть функция с именем «DetectItunesDetected».Кажется, что:

  • посмотреть, установлен ли файл cookie с именем «iTunesPresent», а компьютер является Macintosh (путем проверки пользовательского агента)
  • посмотреть, работает ли Internet Explorer(опять же, пользовательский агент) и компонент ActiveX iTunes * установлен
  • , если запущен Firefox и установлен ли плагин iTunes для браузеров на основе Mozilla.

Если функция возвращает true, он заменяет соответствующие ссылки HTTP на варианты ITMS.

0 голосов
/ 20 августа 2010

Я не могу проверить это прямо сейчас, но вы можете попробовать загрузить изображение из вашего приложения, используя его протокол, если изображение не может быть загружено, перенаправить.

<img src='yourProtocol://image.jpg' onerror='window.location="yoursite.com/pageiffails.php";' />
0 голосов
/ 20 августа 2010

Веб-сайт не знает, он использует протокол itms.

Чтобы создать свое собственное, вам нужно зарегистрировать приложение в операционной системе и указать, какой протокол он будет обрабатывать. Хорошая статья об этом . Объяснение Windows работает со всеми браузерами (которые используют регистр). Другие только для Firefox.

...