在 iPhone 上推送通知而不向用户发出警报

Push Notifications on iPhone without alerts to the user

我在网上搜索了我的问题,但没有找到任何人回答它。这看起来很奇怪,因为我相信其他人也遇到过类似的问题。

目前我的应用程序可以正常接收推送通知。我有一个聊天模块,用户可以在其中发言,每当发送新消息时,另一个 phone 会收到推送通知以更新聊天。

你可以说没有问题,但问题是当用户离开应用程序时:他仍在接收那些在屏幕上显示横幅的通知,我想停用它。基本上我想要推送通知而不提醒用户。有办法吗?

谢谢

只需将推送通知负载的声音属性留空省略alert/text 属性 并添加 "content-available":1,您的通知将静音。这通常称为静默推送通知或 "push-to-sync".

参见documentation here

For a push notification to trigger a download operation, the notification’s payload must include the content-available key with its value set to 1. When that key is present, the system wakes the app in the background (or launches it into the background) and calls the app delegate’s application:didReceiveRemoteNotification:fetchCompletionHandler: method. Your implementation of that method should download the relevant content and integrate it into your app

所以你的负载至少应该是这样的:

    {
        "aps" : {
            "content-available" : 1,
            "sound" : ""
        },
        "chat-message" : "Hello World!"
    }