iPhone: передача информации с веб-страницы в приложение, загруженное из App Store - PullRequest
4 голосов
/ 18 ноября 2009

Я пытаюсь приклеить информацию с веб-страницы к приложению для iPhone, которое веб-страница предлагает для загрузки. Я контролирую как веб-страницу, так и загружаемое приложение.

Сценарий такой:

Пользователь заходит на мою веб-страницу, на которой я узнаю пользователя (возможно, он вошел в систему, и я храню его информацию в файле cookie). Затем я представляю ему ссылку на приложение в App Store, которое он должен загрузить для «расширенного опыта» этого моего веб-сервиса. Теперь, когда пользователь запускает загруженное приложение на своем iPhone, я хотел бы повторно идентифицировать пользователя, который ранее посещал указанную веб-страницу.

Все было бы легко, если бы приложение для iPhone могло читать файлы cookie Safari. Но это не может.

Несколько нелепое решение может заключаться в том, что веб-сервер хранит IP-адрес посетителя и использует его для его распознавания после запуска приложения для iPhone. Но это не надежно.

Еще один способ - дать пользователю токен (код), который он должен запомнить, а затем повторно ввести в приложение. Я думаю, что все еще довольно неловко.

Есть лучшие предложения?

Ответы [ 5 ]

1 голос
/ 18 ноября 2009

Если бы вы могли прочитать уникальный идентификатор устройства iPhone из javascript на своей веб-странице, вы могли бы искать это снова, когда приложение подключилось ...

Но я не могу найти какие-либо средства для чтения этого из Javascript в Mobile Safari, я подумал, что опубликую это, если есть способ дать вам еще один вариант для рассмотрения.

1 голос
/ 18 ноября 2009

Проще говоря, вы не можете этого сделать.

Одна вещь, которую вы могли бы рассмотреть, это пользовательская схема URL для запуска приложения. Вы можете отправить пользователю электронное письмо, которое использует эту пользовательскую ссылку. Однако есть несколько проблем с этим:

  • пользователь может не иметь учетной записи, которую он использовал для регистрации вашего сайта, настроенной на его iPhone. Это может показаться маловероятным, но, скажем, пользователь зарегистрировался на вашем сайте 5 лет назад со своей учетной записью Hotmail, и с тех пор он перешел на Gmail.

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

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

Обдумайте это - если у вас есть какой-то веб-сайт с этапом аутентификации, вероятно, будет справедливо сказать, что пользователь относится к тому типу людей, у которых уже есть приложение, такое как Facebook, установленное на их iPhone. Они уже привыкли к парадигме необходимости вводить свои учетные данные в приложение, несмотря на то, что они, возможно, уже сделали это в Safari.

0 голосов
/ 05 ноября 2010

UIWebView НЕ передает файлы cookie в Safari. К сожалению, это не вариант.

0 голосов
/ 06 января 2010

Просто наткнулся на этот вопрос, и мне любопытно, если вы подумали об использовании UIWebView. В чем вопрос - использует ли UIWebView файлы cookie с помощью safari?

Если это так, остальное должно быть легко.

0 голосов
/ 21 ноября 2009

ОК, мы нашли несколько работающее решение: HTML-код может создать cookie. Позже, когда приложение запускается, оно, конечно, не может напрямую прочитать этот файл cookie (из-за изолированной среды приложений iPhone). Однако он может подключиться к серверу, а затем открыть URL-адрес http, указывающий на сервер и включающий уникальный токен, который он получил с сервера заранее. Это приводит к запуску Safari, доступу к серверу. Теперь сервер может прочитать вышеупомянутый файл cookie и, наконец, установить соединение с помощью токена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...