我需要在聊天应用程序上执行此操作,以通知客户端有新数据要从服务器获取。
我知道从技术上讲,可以使用空的有效负载(至少在 ios 5 设备上它可以工作),但是 Apple 可以将其视为滥用服务还是可以这样做?
在 ios 4 设备上技术上可行吗?
我需要在聊天应用程序上执行此操作,以通知客户端有新数据要从服务器获取。
我知道从技术上讲,可以使用空的有效负载(至少在 ios 5 设备上它可以工作),但是 Apple 可以将其视为滥用服务还是可以这样做?
在 ios 4 设备上技术上可行吗?
是的,只增加徽章编号,不发送声音和警报,所以,App图标上会有一个徽章。
因此,在这里,徽章编号将在不知不觉中增加,以表明当用户观看应用程序图标时已收到某些内容。
但是您的设备不会收到警报或清空有效负载,也不会收到声音,因为您在 iPhone 上要求“静音”推送通知
在 AppDelegate 中配置时,只配置徽章
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge];
希望这对你有帮助
您需要像这样构建有效负载:
String payload =
'{
"aps":{
"content-available": 1
},
"data_id": 5,
"additional_data": ["some", "data"]
}'
在 aps 中放置使推送通知显示文本、声音、徽章...或仅内容可用以使其静音所需的苹果变量。然后,在'aps{...}' 中并用',' 分隔,将您的自定义字段发送到下载所需的信息。
如果您不希望徽章编号增加,您也可以尝试发送一个播放静音文件的声音通知。(不幸的是,我不知道这是否适合苹果)。