UDID 和device token(设备令牌)的区别

一. 首先明确什么是UDID,UDID有什么用(Unique Device Identification)ios5以后禁止获取了

UDID是由字母和数字组成的40个字符串的序,用来区别每一个唯一的ios设备,包括iPhones, iPads, 以及 iPod touches,这些编码看起来是随机的,实际上是跟硬件设备特点相联系的,另外你可以到iTunes点击查询序列号

  UDID可以关联其它各种数据到相关设备上。例如,连接到开发者账号,可以允许在发布前让设备安装或测试应用;也可以让开发者获得iOS测试版进行体验。苹果UDID连接到苹果的ID,这些设备可以自动下载和安装从App Store购买的应用、保存从iTunes购买的音乐、帮助苹果发送推送通知、即时消息。

  在iOS应用早期,UDID被第三方应用开发者和网络广告商用来收集用户数据,可以用来关联地址、记录应用使用习惯……以便推送精准广告。不少用户也对此表示苹果侵犯消费者隐私,因此在后期苹过反对开发人员使用UDID。

如何获取iOS设备UDID

  连接你的ios设备(iPhone, iPad,iPod)到你的iTunes,然后在左边的边栏点击你的设备,右边就会显示出你的设备信息,再用鼠标点击一下你的序列号那一行,就出现UDID了,出现UDID后,直接按键盘的Ctrl+C(mac电脑复制快捷键为为Cmd+C)就可以直接复制好了,粘贴就OK。

UDID是设备唯一设备识别符,移动广告运营商和游戏网络运营商可以通过这个udid识别玩家用户并对用户活动进行跟踪,苹果可能是因为安全原因拒绝。

 

二.先简单介绍下push的机制

2.1

客户端通过

• (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types

这个函数向APNs(Apple Push Service)注册push,types可标明接收的push的类型,声音,数字等。

• (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;

当app成功注册通知后,会调用这个函数,并把deviceToken返回给应用。

2.2 整个远程推送的过程及原理:

然后我们的程序就会把返回的这个deviceToken以及设备的udid及软件版本(淘宝 for iPhone还是淘宝 for iPad)及系统版本,用户名等发送到我们的服务器(下图中的provider)上,然后存储在数据库里。

我们注册远程通知,苹果服务器端(APNS)会返回给应用程序一个device token,我们把这个token给自己的服务器,并且保存到服务器数据库里。

要发送远程通知时,我们的服务器会取出要发送的设备的device token,结合发送内容,组成符合特定结构的字符串,将其发送给APNS.而APNS可以根据与APNS建立连接的我们服务器所使用的证书判断是哪个app请求发送的notification,继而把这个notification发送到相应的设备上。

三. 区别

我们知道device token是苹果返回给我们的NSData数据。那么。

device token到底是什么呢?不同的app的device token相同吗?一个设备会产生多个device token吗?一个的device token 可能对应多个UDID吗?

结论:device token是对APNS来说,设备的标识符,与app无关,所以在同一台设备上,不同的app获得的device token是一样的; 一个设备可能会产生多个device token, 一个device token也可能对应多个UDID,下面进行解释。

对于APS来说,token是设备的标识符。device token不同于UIDevice的uniqueIdentifier(即UDID),因为出于安全和隐私原因,当设备被擦除后,token必须变化。

 总结自:http://blog.csdn.net/xyxjn/article/details/40898073和百度百科。

转载于:https://my.oschina.net/u/2560887/blog/600848

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值