google / physical-web

The Physical Web: walk up and use anything
http://physical-web.org
Apache License 2.0
5.99k stars 665 forks source link

Beacon detection extremely unreliable on Android #676

Closed Timmmm closed 8 years ago

Timmmm commented 8 years ago

There seems to be something weird going on with Chrome on Android's beacon detection. On iOS and in the Nordic Master Control Panel my beacon is always detected, nearly instantly. On Android is often doesn't show up for several minutes, sometimes hours and sometimes never. Even the Physical Web app can't find them sometimes - surely that uses the same scanning method as the Master Control Panel app?

Can you tell us what the duty cycle used for scanning is, does it vary by phone? What happens if you dismiss a notification - will it ever come back? Is a scan initiated when you unlock the phone?

I thought the idea was you could walk up to a physical thing, open your phone and interact with it. If it take 15 minutes to detect the thing that's not really possible is it?

scottjenson commented 8 years ago

The Physical Web App uses the raw BLE scanning services (much like Nordic MCP) the reason for the difference in speed is that the MCP just returns the raw packet URL whereas the PW App runs everything through our PWS (Physical Web Service)

Chrome on the other hand uses the Nearby scanning service (which is much more power efficient) it only scans when you wake up the screen but it too has to go through the PWS.

There was a bug in the Nearby Service that was just recently fixed (last week in fact) so I can understand your frustration with Chrome (it should be fixed now) However, when you say the PW App is also flakey that suggests you have a bad/slow internet connection. If you can't reach the PWS, results won't show up.

angst7 commented 8 years ago

I've noticed something similar. I have a few beacons configured for Eddystone-URL that were working well with chrome PW detection the other day, but today everything seems to show as unresolved under chrome://physical-web. In particular, I have a beacon sitting here now that is broadcasting https://www.google.com and shows up in the PW app, and on other BLE scanners, but chrome is not finding it in its PW search or notifications, and shows the url as unresolved on the chrome://physical-web tool.

Phone is Nexus 5 with latest updates, latest Chrome. Is this related to a PWS issue? Is there a way to check PWS status to see if it's slow/unresponsive? If this is known and/or fixed in a new Chrome then that's fine.

cco3 commented 8 years ago

https://www.google.com should work fine. We had a temporary issue that has been fixed that might be related. Does it still show up as unresolved for you?

angst7 commented 8 years ago

After a restart of Chrome, it's appearing just fine. Thanks!