我想让我的Android游戏跟踪全球高分。
为此,我的服务器上的SQL表中的每个用户都需要有一些唯一的标识符。
我的问题是,Android SDK提供的内容是什么?
Settings.Secure.ANDROID_ID
是我最好的选择吗?
答案 0 :(得分:3)
请勿使用Secure.ANDROID_ID
您会发现2.1或以下的手机数量非常多,以及大多数模拟器和自定义ROM都具有相同的ID:9774d56d682e549c
测试此值,然后使用辅助识别措施...或者只是跳过它并使用UUID
答案 1 :(得分:2)
ANDROID_ID不保证是唯一的。我建议让您的用户指定他们自己的名称,只要该名称尚未在您的服务器上注册,他们就会得到它 - 故事结束。如果你想让他们能够将名字保留在设备擦除/传输上,那么你也可以允许他们指定密码,但严格来说,它可能不是游戏高分记录器所必需的。
答案 2 :(得分:1)
如果用户没有分配UUID,您可以随时尝试为其生成UUID。
答案 3 :(得分:1)
如果您仍在寻找解决方案,Swarm's Leaderboards系统看起来很不错。提供了一个简单的解决方案,可以为游戏添加可自定义的排行榜,并且非常容易使用。
答案 4 :(得分:1)
我知道这是一个迟到的回复,但也许它会帮助那些仍然会阅读这篇文章的人。 实际上这是一个讨论独特的android id的好线程:Is there a unique Android device ID?
许多开发人员使用的解决方案是以标准方式检索唯一的android id:
Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
或
Settings.System.getString(context.getContentResolver(), Settings.System.ANDROID_ID);
如果最后一个不存在,请使用其他设备唯一参数,如IMEI,WIFI MAC等......
如果您不想从头开始实施排行榜和社交层,我们很乐意帮助您整合Skiller SDK;)
我是来自Skiller的,完全披露。