推送通知的UDID而不是设备令牌?

问题描述 投票:5回答:3

我刚刚在iOS中成功实现了示例推送通知。目前,我在发送消息时使用了设备令牌。现在,我有一个关于推送通知要求的问题。我们可以使用设备的UDID进行推送通知而不是设备令牌吗?我知道设备令牌可以单独完成工作但是可以使用UDID进行推送通知吗? Apple允许吗?

ios push-notification apple-push-notifications udid
3个回答
14
投票

不,您只能使用设备令牌。推送通知服务器API将仅接受设备令牌,并且还将检查是否允许您通过检查证书向该安装发送通知。

设备令牌对于特定设备上的应用是唯一的。如果用户有多个设备,他/她也将拥有多个设备令牌(每个应用程序安装一个)。

当用户删除您的应用程序并重新安装它时,设备令牌也可以更改。

此外,开发人员不再使用UDID,Apple已限制使用UDID,您可以在代码中的任何位置使用UDID。


8
投票

不,您不能使用UDID进行推送通知。让我们了解这些东西究竟是什么。

UDID - (iOS唯一设备ID)每个iPhone中的一个数字,开发人员使用该数字直接将新应用程序分发到手机中,以便在App Store中提供之前进行测试。 UDID用于创建Apple认证的配置文件,该文件随应用程序拖动到iTunes中。

手机上看不到UDID。它必须在iTunes中显示,并且不能像普通文本一样突出显示和复制。要检索UDID,您需要执行以下操作:

  1. 将iPad连接到电脑,然后运行iTunes。
  2. 在“设备”列表中选择您的设备。在右侧,您将看到有关您设备的信息。
  3. 单击序列号。它将切换到显示您的UDID。
  4. 按Cmd-C将UDID复制到剪贴板。

注意:

iTunes App Store中提供UDID的任何应用都是假应用。无法通过代码检索UDID,如上所述,必须通过iTunes软件或XCode的连接设备列表手动获取。

设备令牌 - 适用于iOS设备的Apple推送通知系统的标识符。每个设备都有两个设备令牌 - 一个用于开发,一个用于生产(ad hoc或app store构建)。标记是64个十六进制字符。


1
投票

设备令牌将在第三方服务器中注册,第三方服务器与APNS服务器通信。因此,Apple服务器使用设备令牌与客户端进行通信。如果传递UDID,它将失败,而不是设备令牌。此外,Apple限制访问设备UDID。

© www.soinside.com 2019 - 2024. All rights reserved.