如何以编程方式显示访客 Wi-Fi "terms & conditions" 确认对话框?
How to present guest Wi-Fi "terms & conditions" confirmation dialog programmatically?
这是酒吧/餐厅/机场的典型设置,可以使用免密码 Wi-Fi,但需要接受条款和条件。
客户第一次手动连接到 Wi-Fi 网络时出现确认对话框,他接受了。因此互联网连接是有效的,这里没有问题。
然而,下次客户访问同一个地方时 iOS 设备会自动连接到已知的 Wi-Fi 并在状态栏中显示活动的 Wi-Fi 连接图标。但在客户再次接受条款和条件之前,互联网连接不可用。为此,客户必须转到 iOS 设置或打开 Safari,它会自动显示确认对话框。
我们的应用专为酒吧设计。基于上述 iOS 行为,普通客户在 iPhone 状态栏中看到它有 Wi-Fi 连接,但我们的应用程序显示 "No internet connection"。结合起来这是非常混乱的用户体验。
问题:是否有编程方式可以像 Safari 一样显示 Wi-Fi 确认对话框?
如果您的强制门户配置正确,iOS 应该会自动执行此操作。
当它连接到 WiFi 网络时,iOS 检查是否 http://captive.apple.com returns "success"。如果是,则假定它可以访问 Internet。如果它 returns 任何其他内容,那么它假定有一个强制门户,它将打开强制门户身份验证屏幕。
此行为与用户之前是否连接过该热点无关。
可能会出现问题的地方是热点在一段时间后取消对用户的身份验证,因为 iOS 不会在连接成功后不断重试 http://captive.apple.com。
您的应用可以定期检查 http://captive.apple.com returns 正确的响应,如果不正确则打开 SFSafariViewController
这是酒吧/餐厅/机场的典型设置,可以使用免密码 Wi-Fi,但需要接受条款和条件。
客户第一次手动连接到 Wi-Fi 网络时出现确认对话框,他接受了。因此互联网连接是有效的,这里没有问题。
然而,下次客户访问同一个地方时 iOS 设备会自动连接到已知的 Wi-Fi 并在状态栏中显示活动的 Wi-Fi 连接图标。但在客户再次接受条款和条件之前,互联网连接不可用。为此,客户必须转到 iOS 设置或打开 Safari,它会自动显示确认对话框。
我们的应用专为酒吧设计。基于上述 iOS 行为,普通客户在 iPhone 状态栏中看到它有 Wi-Fi 连接,但我们的应用程序显示 "No internet connection"。结合起来这是非常混乱的用户体验。
问题:是否有编程方式可以像 Safari 一样显示 Wi-Fi 确认对话框?
iOS 应该会自动执行此操作。
当它连接到 WiFi 网络时,iOS 检查是否 http://captive.apple.com returns "success"。如果是,则假定它可以访问 Internet。如果它 returns 任何其他内容,那么它假定有一个强制门户,它将打开强制门户身份验证屏幕。
此行为与用户之前是否连接过该热点无关。
可能会出现问题的地方是热点在一段时间后取消对用户的身份验证,因为 iOS 不会在连接成功后不断重试 http://captive.apple.com。
您的应用可以定期检查 http://captive.apple.com returns 正确的响应,如果不正确则打开 SFSafariViewController