2

我正在尝试使用 Passbook API 发送一些推送通知。我创建了以下发送到 APNS 服务器的 JSON 对象:

$payload = json_encode(array('aps' => array('alert' => 'Hello World!')));

但是,此消息没有到达。我一直在互联网上搜索如何在使用 Passbook 时执行此操作,但我找不到。当我发送这样的空有效负载时:

$payload = json_encode(new ArrayObject());

(更新)通知到达并且通行证得到更新。

那么,有谁知道我应该如何向 APNS 服务器发送自定义消息?

提前致谢!

4

1 回答 1

8

Passbook 专门忽略了推送通知的有效负载。它会故意忽略它,因此如果错过推送通知,也不会错过更改。

Passbook 仅将通知用作一个信号,告诉它使用包含在推送通知签名的证书中的 PassIdentifier 更新通行证。

一旦它收到通知(同样,不管负载如何),它只会向 webserviceURL 发送一个 GET 请求,以获取与 DeviceID 和 serialNumber 关联的传递。如果之前请求更新,它还会添加一个查询参数 passUpdatedSince。如果这是第一次请求更新,则查询参数将不存在。

因此,总而言之,您实际上不应该通过推送通知将自定义 JSON 有效负载发送到 Passbook,这与您正在与自己的应用程序交谈的经典推送通知相反。

于 2012-10-12T14:45:42.433 回答