I just went down this rabbit hole of trying to check internet connection on mobile.
The Browser Object conditions dont work to check internet connection on Android.
'Is Online', 'On Went Online' and 'On Went Offline' all fail.
The condition 'Is Online' works at start of app only, but fails if internet connection is lost or regained while app is open.
The PlatformInfo plugin has some relevent conditions and actions.
I found the condition 'PlatformInfo > On Network Changed' DOES reliably trigger on Android when your connection is lost and regained. But It doesnt tell you if you have connectivity or not, just that connection changed. And I couldnt get any of the other PlatformInfo conditions to reliably tell me if I had connectivity.
Chadori has a plugin in his collection called MobileNetwork which is designed to return the internet connection status for Android and iOS, but Chadori says it currently isnt working properly because the underlying Cordova plugin on which MobileNetwork relies has a bug... so his plugin is currently unreliable too.
There is good discussion in these two threads about this topic.
The second thread discusses how you can test for internet connectivity by sending an AJAX request to a website that is always on. That method seemed to work for many people in that thread, but for me it always returned true, even when I had no connection. I have no idea why, but anyway it might work for you.
Ashley has been queried about the Browser Object failing to detect internet connection and his response is:
There's probably no point checking if you're online anyway. Just go ahead and do whatever networking you need to do, and if that fails, you're probably offline. Detecting "is online" is tricky since it's hard to class intermittent connections, and may result in situations like telling the user they're offline when it would actually work.
See these two links:
So I suppose it comes down to what you are trying to achieve. Ashley's suggests dont bother attempting to check for internet. Just do your network stuff and if it fails assume no connectivity.
I followed this advice setting up events for the MobileAdvert and MobileIAP plugins.
In Mobile Advert the condition 'On Video Fails to Load' works, so when it triggers I assume no internet connectivity and show an error screen instructing the user to check their connection.
In MobileIAP theres a difference between Android and iOS. On Android the MobileiAP plugin throws up its own popup window saying 'error' if theres no connection. This is perfect, you can rely on that.
On iOS that doesnt happen so I made my own system that relies of the conditions 'Is Product Available' and 'On any Purchase Failed' to indicate if the device has internet.
Its far from ideal doing it this way, and it feels totally hacky but it works I guess.