2013-11-26 67 views
3

我在數據庫中存儲Android和iOS設備令牌。以下是幾個設備令牌保存在數據庫中的示例。如何識別設備令牌是針對android還是iOS?

  • 654C4DB3-3F68-4969-8ED2-80EA16B46EB0
  • 294913EC-6100-42E8-8C2D-E9F68F286ADE

如何區分特定設備令牌是否是用於Android或iOS設備?

+3

15 degit意味着機器人32 degit裝置IOS – prakash

+0

15位數IMEI應該是Android –

+0

我認爲這個 294913EC-6100-42E8-8C2D-E9F68F286ADE for iphone – user3035658

回答

2

iPhone設備令牌

設備令牌是32個字節的二進制形式,是指32個degits爲iPhone和15對您發佈的Android

+3

鏈接到官方文檔,說明這個神奇的數字將是偉大的! – Mrchief

1

你的第一個散列,是設備的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

+0

不允許從iOS設備使用UDID。該應用程序將不會被Apple批准。原始問題也談論設備令牌。這不要與UDID混淆。 –

-1

您需要實施GCM才能這樣做。

請按照此鏈接瞭解詳細說明。

Google Cloud Messaging

 String rid=GCMRegistrar.getRegistrationId(getApplicationContext()); 
+0

不回答原來的問題。 –

6

我建議你與令牌服務器一起發送的附加信息。例如,有關令牌從哪種設備註冊的信息,即Android或iOS。一個合適的解決方案是設置一個REST服務來註冊您的令牌。如果您實施此解決方案,您將來可以對未來Android/iOS令牌長度的更改進行證明。其他有用的信息要存儲的是用戶ID或類似。

我假設你確實在談論你自己的DB存儲令牌的地方。

-2

爲了得到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; 
} 
+2

這不回答這個問題。這個問題與唯一標識符無關。它與確定Android和iOS令牌之間的差異有關。 –

相關問題