Swift 推送通知
Swift Push Notification
我希望能够使用推送通知,但不希望从服务器获取数据。相反,我希望它充当我的天气应用程序的更新方法,以便即使在应用程序关闭时也能获取新数据。是否可以伪造推送通知?
如果不包含任何文本,您可以发送未显示给用户的通知。这些不是 "fake" 通知,而是通知。
但是应用程序只有在启动时才会收到它们(如果用户允许通知)。
另一个问题是有效负载大小在通知中受到限制,因此您无法使用它对您的应用程序进行完整更新。
通常的场景是通过notification来通知客户端他需要更新,并最终给出一个'summary'更新的内容,以便快速反馈给用户。
将以下代码添加到您的 Info.plist 文件中:
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
并在远程推送的JSON有效负载中添加以下标志
content-available: 1
看起来像这样:
aps: {
(…)
content-available: 1,
(…)
}
带有此标志的推送通知将是无声的(用户不会看到通知)并且 iOS 会给您的应用程序大约 30 秒的时间来下载新的 content/update 本身。它专为您的用例而设计。
我希望能够使用推送通知,但不希望从服务器获取数据。相反,我希望它充当我的天气应用程序的更新方法,以便即使在应用程序关闭时也能获取新数据。是否可以伪造推送通知?
如果不包含任何文本,您可以发送未显示给用户的通知。这些不是 "fake" 通知,而是通知。
但是应用程序只有在启动时才会收到它们(如果用户允许通知)。 另一个问题是有效负载大小在通知中受到限制,因此您无法使用它对您的应用程序进行完整更新。
通常的场景是通过notification来通知客户端他需要更新,并最终给出一个'summary'更新的内容,以便快速反馈给用户。
将以下代码添加到您的 Info.plist 文件中:
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
并在远程推送的JSON有效负载中添加以下标志
content-available: 1
看起来像这样:
aps: {
(…)
content-available: 1,
(…)
}
带有此标志的推送通知将是无声的(用户不会看到通知)并且 iOS 会给您的应用程序大约 30 秒的时间来下载新的 content/update 本身。它专为您的用例而设计。