是否可以在 iOS 7 上从我的应用程序中禁用推送通知声音?
Posted
技术标签:
【中文标题】是否可以在 iOS 7 上从我的应用程序中禁用推送通知声音?【英文标题】:Is it possible to disable push notification sounds from within my app on iOS 7? 【发布时间】:2014-07-22 09:42:06 【问题描述】:我的应用程序的用户已请求允许他们禁用推送通知的声音。 他们希望能够从应用程序中执行此操作,而不必通过设置->通知中心->等。这对他们来说太复杂了——他们更喜欢一个简单的开关来打开/关闭声音。
明确地说,不想一起禁用通知。
我尝试了几种不同的方法,但似乎都不起作用:
-
通过再次调用
- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)
尝试“重新注册”,省略UIRemoteNotificationTypeSound
。 没用
通过调用- (void)unregisterForRemoteNotifications
取消注册和注册并再次注册(使用上述调用)而不使用UIRemoteNotificationTypeSound
。 也没有用
这甚至可能吗?如果有怎么办?
另外,我不能在推送消息本身中为 JSON 使用“声音”键(可能发送静音/空声音),因为我正在使用 Amazon SNS 将推送发送到整个“主题” " - 所以我无法真正自定义每个用户的消息(禁用声音的用户与未禁用的用户),事实上我什至没有服务器端的信息。
【问题讨论】:
您找到解决方案了吗? 【参考方案1】:您需要在用于向您的应用用户发送推送通知的服务中进行配置。注册推送通知部分只需注册设备以接收通知。
您可以在 Apple 开发者网站上阅读更多关于您可以随推送通知一起发送的内容:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html
【讨论】:
【参考方案2】:这当然需要一个服务器端的解决方案来解决这个问题。我假设您有一个用于启用-禁用推送通知的 API,制作一个类似的 API,但用于声音并将其存储在您的数据库中,如果用户想要声音或不想要声音。 那么,对于实际的声音-没有声音的事情,有两种方法:
首先是尝试不要在推送有效负载中发送“声音”键,有人说它有效,但 Apple 在他们的文档中声明它没有 第二个(我确定可以)是设置声音,并在客户端包含一个静音的声音文件,然后将该文件的名称从服务器设置为“声音”【讨论】:
以上是关于是否可以在 iOS 7 上从我的应用程序中禁用推送通知声音?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Vista 和 Windows 7 上从我的应用程序启动屏幕键盘