Как узнать, пришел ли пользователь Android из главного экрана

Есть ли способ узнать, пришел ли пользователь на ваш сайт через shorcut на главном экране? С iOS я могу использовать следующий код javascript для определения того, открыл ли пользователь страницу через ярлык на главном экране:

if (('standalone' in navigator && !navigator.standalone && (/iphone|ipod|ipad/gi).test(navigator.platform) && (/Safari/i).test(navigator.appVersion)) {
            window.location = 'index2.html';
        }

Я не могу найти, что есть что-то подобное, что вы можете сделать с Android. любая помощь будет принята с благодарностью:)

Ответ 1

Короткий ответ: "Нет".

Виджет закладки веб-сайта, запущенный с рабочего стола Android, не включает в себя ссылку (я просто checked).

Кроме того, механизм установки/закладки веб-приложения локально на Android полностью отличается от iPhone, и определенно не является полнофункциональным (в качестве сообщено в отношении отслеживания проблем).

[...]

Я прямо подтверждаю этот запрос, так как невозможно предложить собственный WebApp на Android в то время, не неглубокий корпус приложения, содержащий только WebView (или реализующий один из популярных рамок, таких как PhoneGap или hardware.io).

Это приводит к тому, что вы должны заплатить 25 долларов США за предложение родной WebApp на Android. То же самое бесплатно на iOS устройства - и более элегантные

Кстати, владелец веб-сайта выше немного ошибочен. В андроиде он может просто предлагать приложение со своего веб-сайта, не заплатив 25 долларов США, чтобы пройти через Market/Google Play, так как Android использует бесплатные сертификаты самоподписывания. Мысль, его главная точка остается. Это непростая задача, и конечный результат может быть не очень удобным, если только он не приложит много усилий.

И, сравнительно говоря, я бы сказал, что на Android, его урезанный функционал экрана для виджетов закладок, по сравнению с iOS, почти никогда не используется.

Например, я лично использую основной браузер Chrome, или поиск Google, или существующее приложение, так как моя основная запись указывает на любой из веб-сайтов, которые я посещаю.

Cxae3.png

На скриншоте выше три красные закладки слева - это веб-закладки. И просто чтобы сравнить их с виджетами, отличными от веб-закладок, которые мне действительно нравятся, я также разместил два электронных виджета справа.

Кроме того, я считаю себя сильным пользователем и жадным ранним усыновителем многих функций, и я использую некоторые из менее популярных виджетов Android, но, по словам HTC, я всего лишь часть 10% людей, которые делают это (если только это не касается погоды, часов или музыки, которые, по-видимому, люди используют, когда они сначала настраивают свой телефон!?).

И даже для меня, кто-то, кто любит Android-виджеты Android (особенно на моем Android-планшете), более крупный виджет менеджера закладок дает мне слишком мало контроля, чтобы быть привлекательным для меня, и единственный виджет закладки веб-сайта, который дает достойный контроль, не выглядит очень хорошо для меня, и я никогда не использую его, поскольку это просто красная закладка с крошечным значком, встроенным в середину.

В любом случае, вернемся к вашему первоначальному вопросу.

Не нужно писать небольшую утилиту, которую каждый пользователь Android вашего сайта будет охотно устанавливать на своем устройстве. Ваша единственная альтернатива - попытаться вмешаться, когда пользователь попытается закладок вашего сайта. И вмешательство будет работать только в том случае, если пользователь не пытается очистить закладку любого из аргументов url, добавленных к нему, когда он устанавливает его. Например, вы можете добавить дату, когда пользователь просматривает ваш сайт на URL-адресе, и если пользователь добавил в закладки этот URL-адрес, тот же URL-адрес может появиться на гораздо более поздний срок. Это было бы одним из способов попытаться выяснить, появился ли пользователь из закладки (или сохраненной ссылки в некотором месте).

Но даже если бы вы могли это сделать, это только скажет вам, пришел ли пользователь на ваш сайт через автозаполнение журнала истории или через закладку, инициированную с помощью рабочего стола, или просто через обычную закладку, инициированную Chrome, вместо того, чтобы просто вводить обращайтесь прямо в (я не упоминаю поиск Google, потому что с помощью пользователя, использующего Google Search, google предоставит вам реферата как минимум).

Ответ 2

Так как ярлыки, созданные на главном экране, используют то же намерение, что и любое другое приложение (в конце концов, пусковая установка все еще является приложением), это невозможно.

Однако, если вы создали ярлык самостоятельно, вы можете установить URL-адрес для другого и тем самым знать, что он может быть из панели запуска.

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

Ответ 3

Пойду с коротким ответом, заявленным ранее: Нет.

Android-браузеры не позволят любому веб-сайту получать доступ к информации о INTENT, используемом для открытия браузера или другого материала из-за ограничений безопасности JS.

Но... подождите... есть способ связать JavaScript на веб-сайте с кодом Android (http://developer.android.com/guide/webapps/webview.html#BindingJavaScript), поэтому что я буду делать, учитывая, что веб-сайт уже разработан, заключается в разработке простого приложения для Android с красивой иконкой и WebView с JS включен и указывает на Веб-сайт, поэтому он служит в качестве приложения для клиента или оболочки, чтобы сказать... " http://thewebsite.com?client=android". В WebView вы можете заблокировать навигацию на других сайтах, чтобы пользователь не мог никуда идти, пользователю придется использовать навигацию по сайту. Затем вы можете привязать Android-код к JavaScript, как упоминалось выше, чтобы разоблачить методы из среды Android для JavaScript на вашем веб-сайте.

Вместо того, чтобы позволить людям добавлять ярлык на ваш сайт, дайте им ссылку, чтобы загрузить небольшое приложение-оболочку из магазина Google Play. Таким образом, вы узнаете, кто использует ваш сайт /WebApp с Android-устройств, а так как у вас есть приложение, вы можете получить доступ к информации INTENT и узнать об ОС Android и получить больше информации об устройстве от JS на вашем сайте, чем UserAgent даст вам, как знать, есть ли активное сетевое соединение на клиенте и т.д.

Удачи!