I know it is a late response but maybe it will help someone who still will read this post.
Actually this is a good thread discussing unique android id: Is there a unique Android device ID?
The solution many developers use is retrieving the unique android id the standard way:
Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
or
Settings.System.getString(context.getContentResolver(), Settings.System.ANDROID_ID);
And if the last one is not present use other device unique parameters like IMEI, WIFI MAC, etc...
If you don't want to implement the leaderboard and social layer from scratch, we would be glad to help you integrating our Skiller SDK ;)
I am ofcourse from Skiller, for the full disclosure.