如何获取distribution certificate device token

如何获取distribution certificate device token,第1张

先简单介绍下push的机制

客户端通过

(void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types

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

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

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

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

APNs可以根据与APNs建立连接的Provider所使用的证书判断是要哪个app请求发送的notification,继而把这个notification发送到的设备上。

下图为一个简单的从Provider到Device发送push的过程:

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

所以也就是说,一般情况下,token是不变的,但是在设备被擦除后,token会变的。

今天无心说在我们的服务器上的数据库里,存在同一个UDID对应有多个token的情况,之前是没有考虑到设备擦除的情况,所以就怀疑是不是同一个 设备上同时装了taobao4iphone和taobao4ipad,而token是与app关联的,所以产生的这种情况,于是就找了杨匡的ipad来做 测试,结果发现taobao4iphone和taobao4ipad收到的token是相同的,所以token应该是与app无关的,而是针对设备的(文 档上也是如此描述的),是设备的标识,那除了设备被擦除的情况外,设备的device token 应该是相同的,可是杨匡说之前崇厚给他查出来的他的iPad的token和我log出来的device token是不同的,后来就想到了,push是有两套的,development和product,即调试和release,在这两种情况下,服务端使用 的push证书是不一样的,而程序使用的证书也不一样,那同一个设备在development和distribution情况下收到的device token是否一样呢,于是就做了实验,实际结果如下

实验设备:iPad 1

<img size-full="" wp-image-39"="" src=">

行高不超过2个字体高度(2em:相对单位)每行字数不大于45个字母,不大于30个汉字。为什么不非得是30个字啊??测试简书一行多少个字测试简书一行多少个字测试简书一行多少个字测试简书一行多少个字测试简书一行多少个字测试简书一行多少个字测试简书一行多少个字测试简书一行多少个字测试简书一行多少个字

同台机器样老变化服务器记录台设备代号了机器初始化token会变化比先使用了台iPhone有微博消息推送推送微博账号内容把手机卖别人了别人初始化手机还能接收微博账号内容坏了所初始化手机token会变化

以上就是关于如何获取distribution certificate device token全部的内容,包括:如何获取distribution certificate device token、iOS如何获取服务器token、ios devicetoken 怎么获取 简书等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9726210.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存