【问题标题】:Push notification doesn't work for Passbook from C#推送通知不适用于来自 C# 的 Passbook
【发布时间】:2015-05-16 20:47:50
【问题描述】:

我正在尝试从 C# 实现 Passbook 的 Apple 推送通知。我没有收到任何错误或异常,但设备上没有收到通知。

以下是已经采取的步骤
- 我正在尝试使用用于 Pass 签名的生产 pass p12 证书
- 我按照 APNS 的要求打开了我的 tcp 端口 2196
- 我正在发送空的 Json 有效负载和推送令牌(当用户将通行证添加到存折并调用我们的服务时,我从存折接收)

当我尝试从 SSLstream 读取响应时,我得到它为 \b\a\0\0\0\0

任何帮助都会有很大帮助。谢谢!

【问题讨论】:

  • 首先,确保您使用的是正确的端点 APNS 端点。其次,您是否在要推送的设备的 iPhone 日志中看到任何内容?
  • 您的 webServiceURL 是否接收到连续剧请求并且响应是否正确?此请求后是否有第二个请求以接收更新的 .pkpass 包?更新的 .pkpass 包与原始包不同吗?是否为已更改的值设置了 changeMes​​sage,并且此消息是否包含 %@?您正在使用 C# 进行开发,因此可能无法访问 Xcode 进行调试 - 如果是这样并且您的 webServiceURL 是公共 URL,如果您可以发布指向 .pkpass 包的链接,我们可以帮助您进行诊断。
  • @PassKit - 我已准备好所有 Web 服务,因此当我尝试拉取更新时,我的 getpass 服务被调用并更新了 pass,我可以通过设备日志看到这一点。两个捆绑包都相同,因为通行证内容没有变化,我的要求是我需要在通行证安装 7 天后向用户显示推送通知,并在通知中显示一些消息。我在 pass.json 中没有 changemessage 字段。我需要添加changeMes​​sage吗?没有它就不行吗?
  • @tomasmcguinness - 我指向 gateway.push.apple.com 和 2195 端口。大多数情况下仍然没有通过,我会再次确认并在此处更新。

标签: c# passbook


【解决方案1】:

如果您想在锁定屏幕上显示任何内容,您确实需要 changeMessage,但如果始终在 7 天后显示,您也可以考虑使用 relevantDate alert。以下答案详细说明了从推送到通过调用锁屏消息的所有强制性要求。 How to make a push notification for a pass.

特别注意第5点:

alertbadgesoundcustom 属性键都被忽略 - push 的唯一目的是通知 Passbook 您的 Web 服务有 新鲜通行证。通知文本将由 changeMessage key in pass.json 和旧版的区别 新的 .pkpass 包

【讨论】:

  • 我在 pass.json 文件中添加了所需的 changeMes​​sage 键。现在,当我尝试运行代码时,一段时间后,我在 xcode 控制台中收到带有 passupdatedsince 标记的 Get 请求(不一致)。不确定它的到来是因为代码还是存折本身在一段时间后调用它。
  • 该调用只能通过推送触发。
猜你喜欢
  • 1970-01-01
  • 2017-02-26
  • 1970-01-01
  • 2017-01-22
  • 2020-05-22
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多