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

前端 未结 5 1869
孤街浪徒
孤街浪徒 2021-01-12 11:57

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-8
相关标签:
5条回答
  • 2021-01-12 12:05

    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

    0 讨论(0)
  • 2021-01-12 12:07

    Iphone Device token

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

    0 讨论(0)
  • 2021-01-12 12:12

    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.

    0 讨论(0)
  • 2021-01-12 12:13

    You need to implement GCM to do so.

    Please follow this link for details explanations.

    Google Cloud Messaging

           String rid=GCMRegistrar.getRegistrationId(getApplicationContext());
    
    0 讨论(0)
  • 2021-01-12 12:24

    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;
    }
    
    0 讨论(0)
提交回复
热议问题