Настройка веб-приложений для Android
У веб-приложений iPhone есть четыре функции конфигурации (не включая кеш-приложение HTML5) для настройки поведения веб-страниц при сохранении веб-страницы на главном экране в качестве закладки.
- Вы можете указать значок домашней страницы.
- Вы можете указать загрузочный образ, который отображается при загрузке веб-страницы.
- Вы можете скрыть пользовательский интерфейс браузера.
- Вы можете изменить цвет строки состояния.
Четыре функции работают путем добавления тегов в <head> например:
<link rel="apple-touch-icon" href="/custom_icon.png"/>
<link rel="apple-touch-startup-image" href="/startup.png">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
Естественно, ни один из этих тегов "apple-" ничего не делает в Android. Но есть ли способ сделать что-то эквивалентное? [Как минимум, я хочу, чтобы пользователи могли добавлять мою веб-страницу на свой домашний экран Android (например, в Android 2.0) и иметь довольно приветственный значок.]
Ответы
Ответ 1
Это датированный вопрос, поэтому ответ изменился.
Chrome для новых андроидов имеет для этого собственные метатеги.
Убедитесь, что вы добавили на Homescreen, и запустите с главного экрана.
Нормальной закладки недостаточно. В настоящее время Chrome использует несколько директив Apple, но три внизу - магия android.
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-startup-image" href="startup.png">
<link rel="apple-touch-icon" href="youricon.png"/>
<link rel="apple-touch-icon-precomposed" sizes="128x128" href="youricon.png">
<meta name="mobile-web-app-capable" content="yes">
<link rel="shortcut icon" sizes="196x196" href="youriconhighres.png">
<link rel="shortcut icon" sizes="128x128" href="youricon.png">
Ответ 2
Когда вы создаете ярлык на главном экране для закладки, Android будет использовать apple-touch-icon-precomposed
, если он присутствует (но не apple-touch-icon
), как значок с высоким разрешением:
<link rel="apple-touch-icon-precomposed" href="/custom_icon.png"/>
Что касается остальных функций, я не думаю, что есть какой-либо способ сделать это в настоящее время, не публикуя приложение для Android, которое действует как обертка для вашего сайта.
Ответ 3
Это может представлять интерес для читателей:
http://code.google.com/p/android/issues/detail?id=7657
В 2.1-update1, на Droid, и я предполагаю, что другие 2. * телефоны OS при добавлении закладки на рабочий стол, на главном экране отображается только пользовательский значок, если ссылка rel= "apple-touch-icon" или apple-touch-icon-precomposed имеют полный URL-адрес.
Ответ 4
Я пробовал это из своей Samsung Galaxy S1
Не работает для меня... но что работа сначала создавала закладку, а затем добавляла эту закладку как ярлык для моего дома. Это вызвало правильный значок, который будет использоваться.
Ответ 5
Существуют различные метаэлементы, которые мы можем использовать для достижения наилучших результатов:
1a) Прежде всего нам нужно установить окно просмотра для нашего приложения так:
<meta name="viewport" content="width=device-width, initial-scale=1">
1b) Здесь есть немного взлома, для устройств с более высокими экранами (например, iPhone 5):
<meta name="viewport" content="initial-scale=1.0">
Просто поставьте его под другую мета и он будет делать всю магию.
2) Теперь, когда у нас есть основы, мы скажем мобильным браузерам "читать" наш сайт, как если бы это было приложение. Есть два основных мета-элемента:
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
Это позволит открыть наш веб-сайт в полноэкранном режиме и создать стандартную строку состояния.
3) Мы закончили с "ведящими" мета элементами, теперь давайте начнем с наших значков. Количество значков и строк кода будет полностью зависеть от вас. Для загрузочного образа я предпочел создать один значок для каждого разрешения, чтобы мой "загрузчик" действовал одинаково на всех устройствах (в основном, на устройствах Apple).
Вот как я это сделал:
*<!--iPhone 3GS, 2011 iPod Touc-->* <br>
`<link rel="apple-touch-startup-image" href="../images/mobile-icon-startup-320-460.png" media="screen and (max-device-width : 320px)">` <br>
*<!--iPhone 4, 4S and 2011 iPod Touch-->* <br>
`<link rel="apple-touch-startup-image" href="../images/mobile-icon-startup-640x920.png" media="(max-device-width : 480px) and (-webkit-min-device-pixel-ratio : 2)">` <br>
*<!--iPhone 5 and 2012 iPod Touch-->* <br>
`<link rel="apple-touch-startup-image" href="../images/mobile-icon-startup-640x1096.png" media="(max-device-width : 548px) and (-webkit-min-device-pixel-ratio : 2)">` <br>
*<!--iPad landscape-->* <br>
<link rel="apple-touch-startup-image" sizes="1024x748" href="../images/mobile-icon-startup-1024x768.png" media="screen and (min-device-width : 481px) and (max-device-width : 1024px) and (orientation : landscape)"> <br>
*<!--iPad Portrait-->* <br>
`<link rel="apple-touch-startup-image" sizes="768x1004" href="../images/startup-768x1004.png" media="screen and (min-device-width : 481px) and (max-device-width : 1024px) and (orientation : portrait)">` <br> <br>
ПРИМЕЧАНИЕ. Формат должен быть PNG, и все размеры должны соблюдаться, иначе это не сработает.
4) Чтобы закончить, нам также понадобятся некоторые иконки для нашего приложения. Этот значок будет отображаться в меню устройств. Вот как я это сделал:
*<!--iPhone 3GS, 2011 iPod Touch and older Android devices-->* <br>
`<link rel="apple-touch-icon" href="../images/mobile-icon-57.png">` <br>
*<!--1st generation iPad, iPad 2 and iPad mini-->* <br>
`<link rel="apple-touch-icon" sizes="72x72" href="../images/mobile-icon-72.png">` <br>
*<!--iPhone 4, 4S, 5 and 2012 iPod Touch-->* <br>
`<link rel="apple-touch-icon" sizes="114x114" href="../images/mobile-icon-114.png">` <br>
*<!--iPad 3rd and 4th generation-->* <br>
`<link rel="apple-touch-icon" sizes="144x144" href="../images/mobile-icon-144.png">` <br>
ПРИМЕЧАНИЕ. Вы также можете использовать "precomposed" для того, чтобы ваш значок не отображался с отражающим блеском iOS. Просто добавьте это слово, где вы определяете rel так:
<link rel="apple-touch-icon-precomposed" href="../images/mobile-icon-57.png">
Как сказано, это лучше работает на устройствах Apple. Но значок приложения был подтвержден на устройствах Android, и он работает.