Apple推送通知集成问题

时间:2016-10-26 04:17:25

标签: ios push-notification apple-push-notifications

在我不得不向服务器开发人员提供推送通知证书(p12文件)之前,他可以向我的应用程序发送推送通知。

但据我所知,根据https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html#//apple_ref/doc/uid/TP40008194-CH101-SW1

,可以不使用这些证书

根据Apple的说法:

提供程序身份验证令牌是您构造的JSON对象,其标头必须包含: 用于加密令牌的加密算法(alg) 从您的开发者帐户获取的10个字符的密钥标识符( kid )密钥 令牌的声明有效负载必须包括: 发行人( iss )注册的声明密钥,其值为您的10个字符的团队ID,从您的开发者帐户获取 发布于( iat )已注册的声明密钥,其值表示生成令牌的时间,以自Epoch以来的秒数,以UTC为单位

问题是从开发者帐户中获取这些 kid,iss,iat 值的位置?

1 个答案:

答案 0 :(得分:4)

实际上,我已经观看了来自WWDC https://www.youtube.com/watch?v=IDBCTvHrix8的视频,它解释了几乎所有内容。

1) kid ,您需要https://developer.apple.com - >证书,标识符和个人资料 - > APNs Auth Key - >按+按钮 - >选择Apple推送通知身份验证密钥(Sandbox& Production)(不久前添加) - >创建后,您将看到此项目中的密钥ID(新项目将显示在APNs Auth Key菜单中)。这是 kid

2) iss 是您的团队ID,需要证书,标识符和个人资料 - >标识符 - >应用ID - >按下您的任何应用ID(如果您没有,则需要为您的应用创建一个) - >您将看到详细信息,您将看到前缀:8jkjlj2k 。这是您的团队ID,对于您的开发者帐户中的所有应用,它都是相同的。

3) iat :据我所知,服务器开发人员在他身边生成令牌的时间是,因此您不需要将此值提供给服务器开发人员