An unique identifier of device.
- There're different methods to fetch an identifier on device, however none of them is perfect. We can use device.mac or secure.id for a lot projects that only available in EU even are limited in some countries, but they could be faked outside EU and in worldwide.
- UUID of Android is almost like its name a "perfect" one, but once you see the doc from Google, you'll know that it is not the one.
- A Gmail(G+ account) could be a candidate for some cases when the client application is under the condition that user must have at least one mail-address.
A solution is to merge them first into a class as util.
The method 1. 2. and 3. could be merged into one method. When UUID is "null", the GMAIL should be used, when GMAIL is also "null", the method 1. will be as fallback.