【问题标题】:passkit - pass not refreshing via push notification. (Server response was malformed)passkit - 通过推送通知传递不刷新。 (服务器响应格式错误)
【发布时间】:2017-11-23 22:24:39
【问题描述】:

我已成功集成 passkit,但在通过推送通知更新存折时遇到问题。 钱包成功收到通知,但未更新通行证。

以下是我已经实施的步骤:

  1. 使用 XMPP 服务器 (PHP)。
  2. 在 php 中使用此库生成通行证 (https://github.com/tschoffelen/PHP-PKPass)。我已替换通行证类型和团队标识符。
  3. 将通行证添加到钱包的 Swift 代码。成功创建通行证并添加到钱包。
  4. 要刷新通行证“拉刷新”在钱包应用程序中工作。

这是我的完整代码(PHP + SWIFT): https://www.dropbox.com/sh/e3wk8bwqgv8zs3f/AACZa_x7vD8KByl6WdrrgNExa?dl=0

这里有一些日志:

  1. 创建通行证时:https://www.dropbox.com/s/j14zfudy9mbllmp/add%20card.png?dl=0
  2. 在钱包上添加卡:-https://www.dropbox.com/s/yek9rf8js45p8xb/add%20card%20to%20wallet.png?dl=0
  3. 从钱包应用https://www.dropbox.com/s/k1sfpxfbqlwwu6q/pull%20to%20refresh%20request%201.png?dl=0拉刷新两个请求 https://www.dropbox.com/s/9jall5xmxpx806o/pull%20to%20refresh%20request%202.png?dl=0
  4. 收到推送通知时,来自钱包的两个请求: https://www.dropbox.com/s/sg3v9sgyu0w1e3n/push%20request%201.png?dl=0 https://www.dropbox.com/s/xd2us3771f2xn3s/push%20request%202.png?dl=0

错误是服务器响应格式错误...

请帮忙!

谢谢!

【问题讨论】:

  • 你能拿到原始包吗 - 你有 2 个不同的内容长度 381636 拉和 381635 推。
  • 我每次都会生成新的捆绑包进行拉取和推送。我没有注意到内容长度。 1个字节的差异可能会导致问题吗?您是否看到错误“服务器响应格式错误......等等”?
  • 你好@Parimal,你能帮我从管理面板更新通行证吗?我们已成功将通行证添加到苹果钱包,但在更新时收到错误消息。从服务器日志文件记录。 {"logs":["[2018-09-25 11:50:09 +0530] 获取序列号任务(对于设备 49deeaee707d67dbb44ac89480a58124,传递类型 PASSIDHERE,最后更新(null);使用 Web 服务 url http:\/\ /pass.abc.com\/admin\/mypkpass\/devices) 遇到错误:服务器响应格式错误(无法读取数据,因为它的格式不正确。)"]}

标签: passbook wallet passkit


【解决方案1】:

我自己解决了这个问题。 问题出在“Last-Modified”标题日期格式中。

PKPass.php 文件中应该是header('Last-Modified: ' . gmdate('D, d M Y H:i:s T'));

我收到了推送通知,我的通行证现在会自动更新。

谢谢!

【讨论】:

猜你喜欢
  • 2016-08-07
  • 2012-09-19
  • 2016-11-27
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多