How to identify if device token is for android or iOS?

僤鯓⒐⒋嵵緔 提交于 2019-12-01 04:08:32

问题


I store Android and iOS device tokens in DB. Following are few examples of device tokens getting saved in the DB.

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

How to differentiate whether a particular device token is for an Android or iOS device?


回答1:


I recommend that you send additional information along with the token to the server. For example, information about what type of device the token was registered from, i.e. Android or iOS. A suitable solution is the setup a REST service for registering your tokens. If you implement this solution, you are future proof with regards to future changes in Android/iOS token length. Other useful information to store is the user id or similar.

I assume that you do are talking about your own DB where you store the tokens.




回答2:


Iphone Device token

The device token is 32 bytes binary form, means 32 degits for iphone and 15 for android




回答3:


Your first hash you posted, is the IMEI of the device so it's present on both Android and iOs. An IMEI only contains numbers!

On Android, if you use the following code will give you an unique ID: Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID); that will look like that: 9774d56d682e549c which is 16 chars long.

On iOS devices, you can get your UDID on iTunes or on websites like this one: http://whatsmyudid.com/ This UDID is 32 digits and looks like that: 294913EC-6100-42E8-8C2D-E9F68F286ADE.

Basing on the IMEI you posted in your message, we can get your phone information such as Brand, Model and many other things. Take a look at that address: http://www.imei.info/?imei=359092050465370




回答4:


You need to implement GCM to do so.

Please follow this link for details explanations.

Google Cloud Messaging

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



回答5:


To get IMEI (international mobile equipment identifier) :

public String getIMEI(Activity activity) {
    TelephonyManager telephonyManager = (TelephonyManager) activity
            .getSystemService(Context.TELEPHONY_SERVICE);
    return telephonyManager.getDeviceId();
}

To get device unique id :

public String getDeviceUniqueID(Activity activity){
    String device_unique_id = Secure.getString(this.getContentResolver(),
            Secure.ANDROID_ID);
    return device_unique_id;
}


来源:https://stackoverflow.com/questions/20212906/how-to-identify-if-device-token-is-for-android-or-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!