在我目前的应用程序中,APNS启动并运行没有问题。但是,我对如何根据通知类型处理过滤某些有效负载感到困惑。请参考下图:
从上到下,UISwitches对应于:
分别
每个UISwitch
的状态都会保存在UserDefaults
中供以后使用。但是,我无法思考如何正确使用它来限制来自的消息。
如果有效负载包含自定义键/值信息,是否存在限制传入通知出现的客户端方法/方法? Ex // Payload包含{“type”:“comment”}。
修改
当UISwitch
“关闭”时,期望的效果是横幅UI不显示,声音不触发,但允许传递该类型的有效载荷信息(用于更新{{1 }徽章)。
似乎可能需要修改后的静音通知版本,因为没有任何有效负载限制UITabBarController
徽章的更新。非常感谢任何参考或评论。
答案 0 :(得分:1)
如果您有权访问API,那么服务器端解决方案将是最佳选择。但是,如果您确实需要客户端解决方案,那么它也是可能的。
您无法决定是否向用户显示推送通知,系统会自动发送非静音推送通知并将其显示给用户,而不会显示静默推送通知,仅会传送到应用。您无法更改此行为。
但是,我现在至少可以考虑一种解决方法。默认情况下,根据用户设置提供所有推送通知,对于打开的通知,立即发送复制静默推送通知内容的本地通知。这样,您可以在发送后根据类别过滤通知。请记住,如果通知对时间至关重要,这可能不是最好的方法,因为推送通知和本地通知之间可能会有轻微的延迟。