Cannot get the Android SDK to work with own UUID

Maybe I am doing something stupid, but it seems that the beacons ranged with the SDK always have the Estimote UUID.
My beacons have an UUID I use for my own application and I verified this with my own App and my iPhone.
However, in Android they always come back with the Estimote UUID (b9407f30-f5f8-466e-aff9-25556b57fe6d).

It took me a few hours to discover why I couldn’t find them, but by scanning without any UUID this seems to be the case. Does that make sense?

Btw. On iOS I always used uppercase UUID’s. However, on Android it seems to be lower case. Is there a rule on what should used for both platforms?

This is string representation of UUID. It does not matter which version you will use in Android as we will normalise it. Because it’s string representation you should compare it with ignore case param.

That indicates that we should use UUID Java class rather than String to avoid confusion. Thanks for noting that.

So you’ve changed your beacons’ UUID to a custom one, but when you range (with a region that doesn’t specify the UUID), all the Beacon objects you get in the listener have the default UUID, is that correct?

That is correct.
If I try to range with the actual UUID of the beacons I get no result.

Having said that, I am using a different kind of beacon for testing at the moment (as I have reviewed a view before picking Estimote). I will configure an Estimote one to verify the same issue with an Estimote beacon.

Ah, that could explain it—our Android SDK only detects Estimote Beacons. There’s no beacon standard on Android like there’s iBeacon on iOS, so we can’t guarantee our SDK to work properly with beacons from other vendors.

Does your code not work according to the iBeacon standard? That might give me some problems down the line.
Anyway, I have no luck with the Estimote beacon either, but it is on my Nexus 4, which is not the most reliable. I am trying to configure a Galaxy tab to cross check.

Still on the Nexus which is not great, but now it does seem to work after restarting Bluetooth, it does detect the two Estimote beacons nearby, but not the Kontakt beacons. However, the Estimote App does detect the Kontakt beacons.

One of the locations is going to use Kontakt because the possibility to replace the batteries, so I need to find a way to get it to work.

Also, with the hit-and-miss detection on Android, is there a specific interval that is needed to make Android work better? I have the beacons set to power-saving, which works fine for iOS, but maybe Android needs a more frequent pulse?

Yes, our beacons are working according to iBeacon standard. Nexus 4 is known to have issues and interferences between wifi & Bluetooth.

Note that our SDK is not supporting other brands of beacons and there is no guarantee that it will work.

Is there a difference between the SDK in the Estimote App on Android, and the Android SDK (0.6.1)?
The Estimote App detects everything fine (and quick), but the my own App with the SDK is much slower in picking them up and doesn’t see the Kontakt beacons.

We have updated our SDK to v0.7 which makes significant changes to speed of discovery of beacons.