是否可以在iPhone上发送“静音”推送通知(不向用户发出任何警报)?

时间:2012-04-12 12:42:33

标签: iphone objective-c apple-push-notifications

我需要在聊天应用上执行此操作,以通知客户端有从服务器获取的新数据。

我知道技术上可以使用空的有效负载(至少在ios 5设备上工作),但Apple可以将其视为滥用服务还是可以这样做?

在ios 4设备上技术上是否可行?

3 个答案:

答案 0 :(得分:6)

是的,只增加徽章编号,不发送声音和警报,因此,应用程序图标上会有一个徽章。

因此,在不知不觉中,当用户观看应用程序图标时,徽章编号将会增加以显示已收到的内容。

但是你的设备不会响应警报或空载有效,也不会收到声音,因为你在iPhone上要求“静音”推送通知

在AppDelegate中配置时,仅配置徽章

 [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge];

希望这会对你有所帮助

答案 1 :(得分:5)

您需要像这样构建有效负载:

String payload = 
'{
    "aps":{
        "content-available": 1 
    }, 
    "data_id": 5, 
    "additional_data": ["some", "data"]
}'

在aps中放置所需的苹果变量以使推送通知显示文本,声音,徽章......或只是内容可用以使其保持沉默。然后,在'aps {...}'中用','分隔,将您的自定义字段发送到下载所需的信息。

答案 2 :(得分:3)

如果您不想增加徽章编号,您还可以尝试发送播放静音文件的声音通知。 (不幸的是,我不知道这对Apple来说是否合适)。