我将 Android 和 iOS 设备令牌存储在 DB 中。以下是一些设备令牌保存在数据库中的示例。
- 359092050465370
- 654C4DB3-3F68-4969-8ED2-80EA16B46EB0
- 294913EC-6100-42E8-8C2D-E9F68F286ADE
如何区分特定设备令牌是用于 Android 还是 iOS 设备?
我将 Android 和 iOS 设备令牌存储在 DB 中。以下是一些设备令牌保存在数据库中的示例。
如何区分特定设备令牌是用于 Android 还是 iOS 设备?
我建议您将附加信息与令牌一起发送到服务器。例如,有关注册令牌的设备类型的信息,即 Android 或 iOS。一个合适的解决方案是设置一个 REST 服务来注册您的令牌。如果您实施此解决方案,您将在未来对 Android/iOS 令牌长度进行更改。要存储的其他有用信息是用户 ID 或类似信息。
我假设您确实在谈论存储令牌的自己的数据库。
iPhone 设备令牌
设备令牌是 32 字节的二进制形式,对于 iphone 表示 32 位,对于 android 表示 15 位
您发布的第一个哈希是设备的 IMEI,因此它存在于 Android 和 iO 上。IMEI 只包含数字!
在 Android 上,如果你使用下面的代码,你会得到一个唯一的 ID:
Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
它看起来像这样:9774d56d682e549c
它有 16 个字符长。
在 iOS 设备上,您可以在 iTunes 或类似这样的网站上获取您的 UDID:http :
//whatsmyudid.com/ 此 UDID 是 32 位数字,如下所示:294913EC-6100-42E8-8C2D-E9F68F286ADE
.
根据您在消息中发布的 IMEI,我们可以获取您的手机信息,例如品牌、型号等。看看那个地址:http ://www.imei.info/?imei=359092050465370
为此,您需要实施 GCM。
请点击此链接了解详细说明。
String rid=GCMRegistrar.getRegistrationId(getApplicationContext());
获取IMEI(国际移动设备标识符):
public String getIMEI(Activity activity) {
TelephonyManager telephonyManager = (TelephonyManager) activity
.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyManager.getDeviceId();
}
要获取设备唯一 ID:
public String getDeviceUniqueID(Activity activity){
String device_unique_id = Secure.getString(this.getContentResolver(),
Secure.ANDROID_ID);
return device_unique_id;
}