Как программно представить диалоговое окно подтверждения «условий и положений» гостевого Wi-Fi? - PullRequest
0 голосов
/ 04 декабря 2018

Это типичная настройка в барах / ресторанах / аэропортах, где Wi-Fi без пароля доступен, но требует принятия условий и положений.

При первом подключении клиент вручную подключается к сети Wi-Fi, в результате чего появляется диалоговое окно подтверждения, и он принимает его.В результате подключение к Интернету живо, здесь нет проблем.
Однако в следующий раз, когда клиент посещает то же самое место, устройство iOS автоматически подключается к известному Wi-Fi и показывает значок активного подключения Wi-Fi в строке состояния.Но подключение к интернету не доступно, пока клиент не примет условия снова.Для этого клиент должен либо перейти в настройки iOS, либо открыть Safari, который автоматически выводит диалоговое окно подтверждения.

Наше приложение предназначено для баров.Основываясь на описанном выше поведении iOS, постоянный клиент видит, что у него есть Wi-Fi-соединение в строке состояния iPhone, но наше приложение говорит «Нет интернет-соединения».В сочетании это очень сбивает с толку UX.

Вопрос: Есть ли программный способ вывести диалог подтверждения Wi-Fi так же, как Safari?

1 Ответ

0 голосов
/ 04 декабря 2018

iOS должна делать это автоматически, если ваш авторизованный портал настроен правильно.

При подключении к сети WiFi iOS проверяет, возвращает ли http://captive.apple.com «успех».Если это так, то предполагается, что у него есть доступ к Интернету.Если он возвращает какой-либо другой контент, он предполагает, что существует портал авторизации, и он откроет экран аутентификации портала авторизации.

Это поведение не зависит от того, подключался ли пользователь к этой точке доступа ранее.

Проблема может возникнуть в том случае, если точка доступа де-аутентифицирует пользователя через некоторое время, так как iOS этого не делает.постоянно повторяйте попытку http://captive.apple.com после успешного подключения.

Ваше приложение может периодически проверять, что http://captive.apple.com возвращает правильный ответ, и открывать SFSafariViewController, если оно не

...