"Sign-in to network" notification panel not fully functional

  • Replies:3
  • OpenNot stickiedUnanswered
  • Forum posts: 3

Jun 8, 2016 2:22:33 PM via Website

Not sure if I’m on-topic here or not, but here goes... I am responsible for the setup/configuration of WiFi routers in various restaurants and venues. We are simply using the built-in splash page functionality of the router to, upon connection, present a simple marketing message and daily special offer via an extremely simple, static external HTML page, rather than the login page that many venues present (airports, coffee shops, McDonalds, etc.).

After connecting to our SSID with a PC or mobile device, users are presented with a customized splash page where our venue’s latest “offer of the day” banner ad is presented, which links via a standard hyperlink out to a PDF coupon for them to redeem said offer. There are also a couple of other simple items on the page, such as a menu with links to other offers, and an embedded Google Map to the venue in question.

All seems to be OK on PCs and iPad/iPhone devices. However, we are running into a problem on Android devices – specifically, Android devices using newer/more recent versions of the Android OS.

The problem is that Google has made a change to newer versions of Android so that WiFi connection login/splash/confirmation pages no longer come up in the default Web browser of the phone/tablet in question. Instead, they seem to come up in some kind of built-in notification window simply titled “Sign-in to network” – it does not seem to be a full-blown, feature-compliant browser, but rather a panel of sorts built into Android. And when our basic, mainly static HTML page loads within this alert window, none of the standard HTML features (such as hyperlinks) seem to work. A window appears with the title “Sign-in to network”, and our splash page appears on within it, but the standard HTML hyperlink from our special offer graphic (to a PDF file) does not work. Clicking it has no effect. Our menu underneath that does not seem to open (it’s automatically collapsed on mobile devices), and none of the links within it work properly, and our embedded Google Map does not appear at all. It’s as if this alert window or whatever we call it does not support the basic features of HTML pages in any way.

There appears to be no way for me to programmatically force the Android client to “escape” from this proprietary panel and open up a page in their default browser. I’ve tried placing various forms of client and server side “push/redirect” code on the page in an effort to escape from this alert window and cue the default browser to open, with no luck. No matter what I do, it seems that they Android phones always load the splash page within a “sign-in to network” notification page rather than a browser, and that this notification panel is not fully functional for even basic HTML features such as hyperlinks, javascript, or embedded items.

It’s possible that Android’s proprietary “sign-in to network” panel is apparently seeking some sort of acknowledgement of a successful "login" in order to proceed with any subsequent browsing. But if so, I don’t know what constitutes “acknowledgement”. Perhaps there some way to force a hidden form submission or link click programmatically to force the Android device to accept/acknowledge the connection just as if the user had logged in normally, so that we can then proceed to subsequent Web browsing?

Has anyone experienced this problem, or have any ideas as to whether there’s a work-around or coding-based solution to this difficulty?

Thanks very much for your help in advance.

  • Forum posts: 256

Jun 8, 2016 5:16:50 PM via Website

Hello Derek, Welcome to AndroidPIT forum!

Can you post here the screenshots or video showing this problem?

  • Forum posts: 3

Jun 9, 2016 2:16:26 PM via Website

Thanks, I appreciate the response. Yes, I can take a screen capture of the issue later and upload.

Normally how these pages work (such as in an airport or coffee shop, for instance) is that the user connects to the open wifi network via the wifi settings on the phone, and they are served with a page with a button to "connect to the internet" or a simple log-in form, which is then submitted to acknowledge/accept the wifi connection and proceed. However, on my page, there's no button. We are not asking them to accept/acknowledge anything ... it's just a static page for marketing purposes served up by our router as a result of the user connection to the wifi network. I presume, perhaps, that the "Log-in to network" panel is awaiting some kind of confirmation that the user has accepted/acknowledged the wifi connection before it allows the user to proceed to browse the Web or visit other links, but I cannot determine what kind of acknowledgement is needed.

In a screenshot, you will see only an open full-screen panel on my Android phone (Android OS, v5.1 Lollipop) with the heading "Log-in to network" on the top, and my proposed "splash page" (just a static HTML page made in Wordpress) with a header image and special offer banner. The banner is supposedly clickable (via standard image hyperlink) to take the use to a PDF file with a coupon. Then under that there's a menu with links to 3 other offer pages. However, none of the hyperlinks work... clicking produces no response. Clicking on any link on the page results in a small loading bar appearing at the top of the panel just under the heading ("log-in to network"), but page just refreshes and won't go anywhere.

It's very possible that there is something simple and stupid that I'm doing wrong, but no matter what I try, I cannot get the page to function within the built-in Android "sign-in to network" panel. On IOS and PC/Macs, the page comes up in the normal default Web browser set by the user, so there's no problem. But in Android, the page comes up in this panel, which doesn't seem functional as a Web browser.

  • Forum posts: 3

Jun 10, 2016 1:32:40 PM via Website

UPDATE: I've been in touch with the Google developers of the sign-in panel... they indicated that "captive portal sign-in pages are displayed in an Android WebView, which uses much of the same code as the Chrome browser. The sign-in app is very simple, you can see all of its source code here.
One second after each navigation (including the initial page load), the app probes to see if the user has successfully signed into the network. This probe is done by fetching a URL that should give back a 204 response."

Based on this, I am making the assumption that until captive portal sign-in app probes to see if the user is successfully signed in, all other navigation and many other features on the page are disabled, and that the full functionality of the WebView panel is restored after a successful sign-in to the network. But if so how can I successfully "signal" to the sign-in app that the user is, in fact, signed in (or rather, that no sign is in necessary or desired)? Is there something programmatically that I can do in the page code to ensure this, so that the viewer can then proceed to normal Web navigation within the panel, and so forth?

Any insight into how this works from anyone here would be greatly appreciated!