Unable to range an Ibeacon

We have four proximity beacons and we placed it at a different place to find out the approximate distance between application and ibeacons.
We got and set up the estimote SDK and got an instance of BeaconManager.Now to range each beacon do we need to define a separate region for each beacon or just one region with Default UUID with major and minor null . If so how can we find out the region identifier for example.
mBeaconRegion = new BeaconRegion(“identifier”, UUID.fromString(“xxx-…-xxx”),null,null);
How to find out the identifier mean the first argument of the instance.
Any one have any idea please let us know.thanks in advance.

Identifier is just a string that you can assign to the beacon region, so that you can easily identify it later. It can be whatever you want.

For example, in your BeaconRangingListener, in the onBeaconsDiscovered callback, you can query the BeaconRegion (which is the 1st param) and its identifier, in order to know for which beacon region these results are. As you can see, this is mostly useful if you have multiple regions.

Please note that the SDK/API you seem to be using is no longer actively developed! You should be using Estimote Proximity SDK instead.

If you don’t want to use Estimote Proximity SDK, and want to use iBeacon instead, then you should be be using another iBeacon-capable library, for example: https://github.com/altBeacon/android-beacon-library/

@heypiotr thank you for time.
We are using the official Estimote SDK
Ok so we are assigning the ibeacon name as identifier and here is our result.
One more thing we noticed here that some time the call back is triggered immediately and some time it take so much time without returning any result mean no beacon get discovered. In fact the beacon ranging process is intermittent one. Is there any thing we are missing.?