在您的应用程序中控制通知(声音、新提交和徽章)是不是是个好主意

Posted

技术标签:

【中文标题】在您的应用程序中控制通知(声音、新提交和徽章)是不是是个好主意【英文标题】:Is it a good idea to control notification (sound, new submissions and badge) inside your App在您的应用程序中控制通知(声音、新提交和徽章)是否是个好主意 【发布时间】:2014-09-20 02:25:57 【问题描述】:

我目前正在尝试实现一种通过内部应用程序打开/关闭推送通知声音、徽章和警报的方法。这是好习惯吗?我现在正在尝试这样做,但是应用程序这样做的行为很奇怪。任何提示或建议表示赞赏。

【问题讨论】:

你能写一些你试图修改的示例 sn-p 吗? 【参考方案1】:

如果您在谈论远程服务器推送通知,这实际上取决于您的应用是否正在运行。

如果不运行通知启用/禁用设置完全由用户掌握,您可以建议更改并将用户重定向到设置应用程序。无法手动更改。

Push noti 有一个关于徽章和声音的参数,可以由你的服务器控制。一旦应用程序有机会执行,以编程方式更新徽章计数也是常规做法,即清除待处理的通知。

如果正在运行,您可以根据需要处理通知或徽章更新以及声音。

请查看详情 https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/WhatAreRemoteNotif.html

【讨论】:

【参考方案2】:

我想说,您应该尝试手动管理的唯一事情可能是通知徽章和声音。事实上,您应该管理徽章数量。来自 Apple 的文档:

显示为应用程序图标标志的数字。如果此属性不存在,则徽章不会更改。要移除徽章,请将此属性的值设置为 0

此外,他们提供了一个漂亮的小图表(右键单击它并在新标签中查看图像以获得完整分辨率):

对于声音,最好的方法可能是告诉您的服务器为 X 用户发送有/无声音的通知。注意:

如果声音文件不存在或将默认值指定为值,则播放默认警报声音。

关于管理其他通知视觉效果(例如警报/横幅),我不建议您尝试将其弄乱。这样的事情应该留给手机设置应用程序中的应用程序设置。毕竟,他们有所有这些选择:

来源:Apple Docs

【讨论】:

以上是关于在您的应用程序中控制通知(声音、新提交和徽章)是不是是个好主意的主要内容,如果未能解决你的问题,请参考以下文章

推送通知 iPhone 中的声音

本地通知swift上缺少徽章和声音

通知声音和徽章不起作用

如何在您的 iOS 应用收到新评分或评论时收到通知

iOS - 用户禁用通知的应用程序如何更新其徽章?

iOS 推送通知 - 如何在没有声音的情况下指定警报和徽章?