我在數據庫中存儲Android和iOS設備令牌。以下是幾個設備令牌保存在數據庫中的示例。如何識別設備令牌是針對android還是iOS?
- 654C4DB3-3F68-4969-8ED2-80EA16B46EB0
- 294913EC-6100-42E8-8C2D-E9F68F286ADE
如何區分特定設備令牌是否是用於Android或iOS設備?
我在數據庫中存儲Android和iOS設備令牌。以下是幾個設備令牌保存在數據庫中的示例。如何識別設備令牌是針對android還是iOS?
如何區分特定設備令牌是否是用於Android或iOS設備?
你的第一個散列,是設備的IMEI所以它存在於兩個Android和iOs。一個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
不允許從iOS設備使用UDID。該應用程序將不會被Apple批准。原始問題也談論設備令牌。這不要與UDID混淆。 –
您需要實施GCM才能這樣做。
請按照此鏈接瞭解詳細說明。
String rid=GCMRegistrar.getRegistrationId(getApplicationContext());
不回答原來的問題。 –
我建議你與令牌服務器一起發送的附加信息。例如,有關令牌從哪種設備註冊的信息,即Android或iOS。一個合適的解決方案是設置一個REST服務來註冊您的令牌。如果您實施此解決方案,您將來可以對未來Android/iOS令牌長度的更改進行證明。其他有用的信息要存儲的是用戶ID或類似。
我假設你確實在談論你自己的DB存儲令牌的地方。
爲了得到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;
}
這不回答這個問題。這個問題與唯一標識符無關。它與確定Android和iOS令牌之間的差異有關。 –
15 degit意味着機器人32 degit裝置IOS – prakash
15位數IMEI應該是Android –
我認爲這個 294913EC-6100-42E8-8C2D-E9F68F286ADE for iphone – user3035658