在应用程序静音Apple-Push-Notifications

时间:2014-01-31 01:25:25

标签: ios iphone notifications apple-push-notifications

我和我的团队正在开发一个带推送通知的iOS应用程序。

我们有一个Rails后端,它将推送通知发送到iOS应用程序。一切都按预期工作。

我们在Notification有效负载中发送了不同类型的通知(promotion,general_info,news),如下所示:

aps: {
  alert: body,
  badge: 1,
  sound: 'bingbong.aiff'
},
type: type

但是,我们希望用户指定他想要接收哪些类型的通知以及哪些类型的通知(使用应用内设置菜单)。

E.g。如果用户取消选择类型'促销',则包含类型'促销'将被过滤,以便用户无法获得促销通知。

此行为类似于Whatsapp!-App用于静音组的行为。

我们为此找到了另一种解决方案:

Can you mute incoming Push Notifications from the App side [iOS]

但这只适用于用户在应用中的情况。

是否可以检查有效负载,然后确定当应用处于后台/关闭时是否会向用户显示推送通知?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您的应用无法在后台查看推送有效负载,只能在前台接收该数据。

要进行所需的过滤,您几乎必须在服务器端限制发送的内容。如果您使用推送提供商,通常只需取消订阅其中一个类别,就不会向该用户发送推送到该类别。

答案 1 :(得分:0)

通知到来时无法读取有效负载,您可以使用didRecieve方法

进行阅读

那么,为此创建一些webService,当用户在app设置菜单中更改时调用,基于某个表中的那个商店,所以当你下次基于该表发送推送过滤器时...