是否可以在iOS 7上的应用程序中禁用推送通知声音?

时间:2014-07-22 09:42:06

标签: ios objective-c ios7 push-notification apple-push-notifications

我的应用的用户要求允许他们停用推送通知的声音。 他们希望能够在应用程序内执行此操作,而无需通过设置 - >通知中心 - >等。这对他们来说太复杂了 - 他们更喜欢简单的开关来打开/关闭声音。

要清楚,不想一起禁用所有通知

我尝试过几种不同的方式,其中没有一种方法可行:

  1. 尝试重新注册"通过省略- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)再次调用UIRemoteNotificationTypeSound没有工作
  2. 取消注册并通过致电- (void)unregisterForRemoteNotifications进行注册,并在没有UIRemoteNotificationTypeSound的情况下再次注册(以上呼叫)。 也没有工作
  3. 这甚至可能吗?如果是这样的话?

    另外,我无法真正使用"声音"在推送消息本身中为JSON发送密钥(可能发送静音/空声)因为我使用Amazon SNS将推送发送到整个"主题" - 所以我无法真正定制每个用户的消息(那些禁用声音的人与那些没有声音的人),实际上我甚至没有在服务器端获得信息。

2 个答案:

答案 0 :(得分:0)

您需要在用于向用户发送推送通知的服务中对其进行配置。注册推送通知部分只需注册设备即可接收通知。

您可以在Apple开发者网站上阅读有关您可以发送的内容以及推送通知的更多信息:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

答案 1 :(得分:0)

当然需要服务器端解决方案来解决问题。我假设您有一个启用 - 禁用推送通知的API,如果用户想要声音,那么就可以制作声音并将其存储在数据库中。
然后,对于实际的声音 - 没有声音的东西有两种方法:

  • 首先是尝试发送声音'推送有效载荷的关键,有人说它有效,但苹果声称它没有在他们的文档中
  • 第二个 - 我确定无效 - 是设置声音,在客户端包含一个静音的声音文件,然后将该文件的名称从服务器设置为'声音'