我正在尝试使用 Passbook API 发送一些推送通知。我创建了以下发送到 APNS 服务器的 JSON 对象:
$payload = json_encode(array('aps' => array('alert' => 'Hello World!')));
但是,此消息并未到达。我一直在互联网上搜索如何在使用 Passbook 时执行此操作,但找不到。当我像这样发送空负载时:
$payload = json_encode(new ArrayObject());
(更新)通知到达并且通行证得到更新。
那么,有人知道我应该如何向 APNS 服务器发送自定义消息吗?
提前致谢!
最佳答案
Passbook 特别忽略了推送通知的负载。它故意忽略它,因此如果错过推送通知,则不会错过更改。
Passbook 仅将通知用作信号,告诉它使用包含在推送通知签名的证书中的 PassIdentifier 更新通行证。
一旦它收到通知(同样,无论有效负载如何),它只是向 webserviceURL 发送一个 GET 请求,以获取与 DeviceID 和序列号相关联的通行证。如果它之前请求更新,它还会添加一个查询参数 passesUpdatedSince。如果这是第一次请求更新,则查询参数将不存在。
因此,总而言之,您实际上不应该通过推送通知将自定义 JSON 有效负载发送到 Passbook 传递,这与您与自己的应用对话的经典推送通知形成对比。
关于php - 使用 Passbook API 发送推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12787206/