Limit characters in URL of EddystoneURL


#1

Hi! I’m developing an application which use EddystoneURL to get a name. For example: https://EmpireStateBuilding ==> Empire State Buliding. So, I don’t need to connect me to a beacon to get this name. But, there is a limit of characters and I can’t put a long name. Is there a way to get around this limit?
Thank you :smiley:


#2

Length of Eddystone URL is limited to 17 characters (see Eddystone URL specification). This is a consequence of maximum length of Bluetooth advertising packet which is 31 bytes (and you must include all necessary headers and fields there).
What you usually do is to use a URL shortener like tinyurl.com so final URL fits in 17 characters and it will redirect you to proper, longer URL.
You can also use Estimote Proximity SDK where you can define custom attachments with data and when user enters defined zone, SDK will return you that information (fetched from Cloud).
Android: https://github.com/Estimote/Android-Proximity-SDK
iOS: https://github.com/Estimote/iOS-Proximity-SDK


#3

Hi Pober! Thank you for your answer but, I have many constraints:

  • The URL don’t redirect to any web page. I would like get a name thanks to EddystoneURL (Example in my first message).
  • I don’t want any internet access because the beacons will used underground and Proximity SDK needs an access.

#4
  1. You may try to use some kind of short text compression (there are many algorithms available online). You need to take into consideration that EddystoneURL has limited set of available characters.
  2. You may split your name into several advertising frames, but you need to create your own advertising packet format and implement own parser. For example you can use first byte as a frame number:
0|This is your very long
1| text that fits in several
2| different frames. 
``
Scanner will have to wait to catch all the frames and then concatenate it together.