【问题标题】:How to call pushnotification when server want to update pass服务器要更新通行证时如何调用推送通知
【发布时间】:2013-04-26 10:27:01
【问题描述】:

我有一个更新通行证的界面。当我单击“更新通行证”时,我想将 pushnotification 调用到传入设备。我不知道该怎么做。这该怎么做?

【问题讨论】:

  • 您使用什么代码来实现更新存折项目的接口?什么库正在连接到 APNS。
  • 我使用 php 和 Apache!

标签: ios6 push-notification apple-push-notifications passbook apns-php


【解决方案1】:

对于 Passbook,为了让推送在设备上触发通知,必须做好很多事情。从您的表单中,您需要实现所有内容以遵循此流程:

  1. 将表单中的数据发布到服务器并更新数据库中的通过记录
  2. 从您的设备表中检索需要更新通行证的设备的设备 pushToken(这些应该使用公共密钥链接到通行证表)
  3. 使用与更改后的通行证的passTypeIdentifier 匹配的通行证ID 证书连接到生产APNS
  4. 为每个设备发送包含空负载的 APNS 消息
  5. 等几秒……
  6. 收到推送后,每台设备都会使用“Getting the Serial Numbers for Passes Associated with a Device”方法联系您的网络服务
  7. 您的 Web 服务必须使用包含更新的 pass 序列号的 json 字典进行响应(注意只发送与设备相关的序列号,如果您发送未安装的 pass 序列号,您将收到错误日志消息)
  8. 当设备收到您的回复时,它会再次调用您的服务,并使用您发送的序列号的“Getting Latest Version of a Pass”。
  9. 动态构建新的 .pkpass 包并使用正确的 MIME 类型和“Last-Modified”标头作为响应发送
  10. 如果字段值已更改,并且该字段字典包含 changeMes​​sage 键,则会在设备上显示通知。如果没有任何变化,或者没有设置 changeMes​​sage,上述情况仍然会发生,通行证会更新,但您不会看到通知。

【讨论】:

  • 谢谢!我会尝试更多!
  • 所以我们发送带有 pushToken 或 deviceToken 的 APNS 消息?
  • 这是同一事物的两个不同名称。 APNS 文档中提到的deviceToken 是您的网络服务在设备注册时收到的pushToken
  • 从我在mac中测试的更新界面,输入新值后,我调用pushnotification,但没有结果,我不知道为什么!
  • 您需要调试以查看请求的进展情况。提交表单后,您可以使用echo "<pre>" . print_r($variable_name, true) . "</pre>"; 将变量的内容打印到浏览器。在发送推送之前,您应该能够对每个变量执行此操作。然后,您需要写入错误日志以查看设备调用您的 Web 服务时发生了什么,并在 Xcode 中监控您的设备控制台。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 2020-07-28
  • 2014-07-11
相关资源
最近更新 更多