【问题标题】:Remove sound from notification从通知中删除声音
【发布时间】:2015-01-27 09:36:32
【问题描述】:

我正在尝试创建一个 UISwitch,以便用户可以选择不从应用程序内部获取推送声音。 是否可以?我已经尝试再次注册没有声音 -

+ (void)registerToNotificationWithoutSound
{
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
    {
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    }
    else
    {
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
         (UIUserNotificationTypeBadge | UIUserNotificationTypeAlert)];
    }
}

所做的只是禁用用户在 iphone 设置中切换声音开/关的能力,但仍然记住用户在切换能力可用时选择的内容。

例如 - 如果用户从 iphone 设置启用推送声音,然后从应用程序禁用它 - 他现在无法在 iphone 设置上看到或使用通知声音切换开关,但在接收推送时仍会听到声音。

谢谢

【问题讨论】:

  • 这就是 Settings.app 的用途。想象一下,如果每个应用都将推送设置隐藏在自己的设置屏幕中。
  • instagram 和 facebook 等通知设置有吗?我可以想象。
  • shhhhh... 我们不想把它毁给喜欢它的 5 亿人。无论如何,这就是客户想要的,所以即使它错了我也需要这样做。有人有答案吗?
  • 你找到办法了吗?
  • 没有。我最终得到了一个解决方案,即在调用推送时不向不想要声音的用户发送声音。 (而不是关闭设备上的声音)。你找到什么了吗?

标签: ios iphone notifications


【解决方案1】:

从客户端(iOS 应用)是不可能的。但是,您可以删除从服务器端(后端)发送的有效负载中的声音键,并且推送通知将静音。

默认声音:

{"aps":{"alert":"Hello","badge":1,"sound":"default","category":"your_category_key"}}

没有声音:

{"aps":{"alert":"Hello","badge":1,"category":"your_category_key"}}

【讨论】:

  • 正确答案,我猜苹果没有在任何地方记录它,但它是这样工作的:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多