With the emergence of iOS7, an interesting little nugget quietly came along - iBeacons.
What are Beacons? Basically they're just a form of micro-location that uses Bluetooth Low Energy(BLE/Bluetooth 4.0/Smart Bluetooth) to transmit a data signal that can be picked up by other Bluetooth Low Energy devices. The APIs for iBeacons shipped with iOS7, which means that any BLE iOS7 device is already ready to serve as an iBeacon or monitor for other nearby beacons.
Check out how Estimote and PayPal are using beacons.
But, this is an Android post. Why so much about iOS? Well, natively, Android devices can't serve as beacons themselves. If you need a beacon, there are places to buy beacons or instructions on how to build your own from a Raspberry Pi, but what your Android can do (maybe) is interact with beacons.
RadiusNetworks created an Android library with APIs to interact with iBeacons. This is awesome if you're writing native Android apps, but for those of you like me writing Xamarin.Android applications, you're still going to come up short.
To bridge the gap, I've created a Xamarin.Android binding of the RadiusNetworks Android iBeacon Service. You can find the project on GitHub. Feel free to clone, fork, submit pull requests - whatever you'd like.