4

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

到目前为止,一切都很好。

当我尝试从城市飞艇的仪表板发送推送消息,或者冰壶,或者让服务器发送推送时,设备永远不会收到它。推送 passkit 更新时,我有什么特别需要考虑的吗?

4

2 回答 2

3

经过大量的修补,我得到了这个工作。解决方案并不直观:

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

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

  3. 不管苹果怎么说,你需要在有效载荷中包含一些东西。据我所知,这是必要的,因为 Urban Airship 不会推送空的有效载荷。有效载荷的内容无关紧要。该设备只关心它得到了什么,所以它知道需要更新。例如,这有效(python):

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

Urban Airship 有望在未来改变这种状况。

于 2012-09-29T06:06:06.330 回答
0

当我对后端有更多的控制权时,我想通了。

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

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

于 2012-10-02T06:59:40.860 回答