Passkit推送通知不适用于Urban Airship

时间:2012-09-27 14:23:34

标签: ios urbanairship.com passbook

我安装了通行证。当安装在设备上时,它会注册到我的服务器,设备ID也会在Urban Airship服务中注册。

到目前为止一切顺利。

当我尝试从城市飞艇的仪表板发送推送消息,或者卷曲,或让服务器发送推送时,设备永远不会收到推送消息。在推送passkit更新时,我有什么特别的想法吗?

2 个答案:

答案 0 :(得分:3)

经过大量的修修补补后,我开始工作了。解决方案不直观:

  1. 确保您在Urban Airship上创建的“应用程序”正在推向Apple的生产服务器。 Passbook不会将存折推送到开发服务器(您只能在创建应用程序时执行此操作 - 之后无法对其进行修改)。

  2. 确保上传用于签署通行证ID的证书,而不是用于标准推送通知的证书。这很重要,因为证书中嵌入了PassID。

  3. 尽管Apple说过,但您需要在有效负载中包含一些内容。据我所知,这是必要的,因为Urban Airship不会推动空载。有效载荷的内容无关紧要。设备只关心它是某些东西所以它知道需要更新。例如,这可以工作(python):

    airship = urbanairship.Airship(_UrbanAirshipPassbookKey,_UrbanAirshipPassbookMasterSecret) airship.push({'aps':{'alert':'Go。'}},device_tokens = tokens)

  4. Urban Airship有望在未来改变它。

答案 1 :(得分:0)

当我对后端有更多控制权时想出来。

 Server response was malformed (Wrong type object for key lastUpdated in response dictionary. Expected NSString but found __NSCFNumber.)

所以现在它适用于城市飞艇