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