2013-06-11 2 views
2

Когда пользователь вводит мой сайт, он получает диалоговое окно, предлагающее установить my wonderful app. Когда пользователь нажимает кнопку «Принять», появляется всплывающая страница с игровым рынком с моим приложением. Это диалоговое окно появляется только при просмотре пользователями с телефона. Однако этот диалог будет всплывать, даже если пользователь уже имеет мое приложение. Таким образом, меня интересует способ сообщить сайту о наличии/отсутствии приложения на телефоне. Если приложение уже установлено на телефоне, диалог не должен появляться.Как сообщить сайту, что приложение установлено?

phone w/o app -> browse site -> get dialoge box 
phone with app -> browse site -> normal browsing 

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

Немного более продвинутая идея была предложена msh: Дайте пользователю вариант, какое приложение откроет ссылку. Если ссылка открыта в моем приложении, как указано выше.

Есть ли лучший способ сделать это?

+0

браузеров часто упоминают плагин установлен. Возможно зарегистрировать фиктивный плагин с браузером (хотя вы можете обнаружить, что вам нужно поддерживать несколько разных браузеров и охватывать только 70% случаев использования) – Tom

+0

Этому недостает контекста. О каких типах ссылок вы говорите? Где вам не хватает этой информации в документации поставщика? Где документация поставщика? Что означает «просмотр сайта»? Можете ли вы привести пример одного или двух таких «браузеров» и пример «Сайта»? – hakre

ответ

0

Да, мобильные браузеры (сами по себе) не могут передать установленный статус приложения в сеть. Но если вы отчаянно пытаетесь реализовать это поведение, у меня есть решение «WILD» для вас.

Это решение разделяется на две части: на стороне клиента (Android Device)/Server Side (Web)

стороне клиента (на устройстве Android):

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

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

стороне сервера (на веб-сервере):

Ваш веб-сервер будет держать след всех IP-адресов, представленных всеми устройствами, на которых установлено приложение (отклонение от курса в базе данных) , Чтобы избежать избыточных записей, вы можете определить время истечения/проверки для каждой полученной записи IP-адреса.

Теперь, когда ваш сервер получает веб-запрос, он будет соответствовать IP-адресу запрашивающего клиента со всеми IP-адресами, сохраненными в его базе данных.Если он находит соответствующий IP-адрес, это означает, что веб-запрос поступает с устройства, на котором уже установлено ваше приложение. В противном случае вы можете направить пользователя на ссылку магазина воспроизведения вашего приложения.

Ограничение предлагаемого решения: Это решение будет работать со 100% точностью только в том случае, если пользователь использует мобильные данные (2g/3g/etc) для подключения к Интернету. Начиная с использования мобильных данных, каждый раз, когда устройство будет выдавать уникальный IP-адрес поставщиком услуг.

Это не будет прекрасно работать для подключения wi-fi. При просмотре с использованием Wi-Fi всем устройствам, подключенным к одному и тому же Wi-Fi-узлу, выделяется один и тот же IP-адрес. Таким образом, может существовать ситуация, когда два мобильных телефона используют Интернет из одного и того же wi-fi-места, из которого один телефон устанавливает ваше приложение, а другой - нет. Это смущает сервер.

** Это решение не может быть очень рекомендуется, но может быть использован с некоторыми незначительными исправлениями, если вы не получаете никаких других решений;)

0

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

Вы, вероятно, можете сделать ваше приложение реагировать на ЗРЕНИЯ Намерение с определенным URL-адресом затем перенаправляется на этот URL-адрес на вашем сайте, но это заставит Android спросить пользователя, хотите ли он открыть этот URL-адрес с вашим приложением или браузером, поэтому он не прозрачен

+0

Возможно, есть способ сделать приложение распространять знания о себе в браузере? – Yarh

0

У вас могут быть два отдельных URL-адреса например: www.yousite.com и www.app.yoursite.com. Таким образом, по крайней мере пользователи свободны от всплывающих окон из приложения.

Смежные вопросы