【问题标题】:Changing badge count in Push Notifications with Expo in background and foreground在后台和前台使用 Expo 更改推送通知中的徽章计数
【发布时间】:2018-09-29 10:00:18
【问题描述】:

我正在寻找将推送通知发送到本机应用程序并阅读博览会文档的方法,但我对似乎相互矛盾的两条信息感到困惑。

通知将显示在系统通知托盘中 来期待,点击它们将打开/前台应用程序。

(来源:https://docs.expo.io/versions/latest/guides/push-notifications

但在“为什么不展览”部分中它指出:

Expo 应用程序不支持后台代码执行(运行代码时 应用程序未处于前台或设备处于睡眠状态)。这意味着你 无法使用后台地理位置,在后台播放音频, 处理在后台推送通知等。

(来源:https://docs.expo.io/versions/latest/introduction/why-not-expo

这似乎是矛盾的,因为“前台”或“打开”一个应用程序意味着它在我看来是在后台运行的。

最后我想用这个更改应用程序图标的通知徽章,但是鉴于此信息,我不清楚这是否可能?在IOS和安卓?

【问题讨论】:

  • 好消息,后台代码执行将在下一个 SDK 版本中可用!
  • 在后台处理推送通知可能意味着处理ios silent notificaitonsFCM data only messages,这允许用户在不通过点击系统托盘中的通知打开应用程序的情况下执行代码。通知徽章用于正常通知。所以你应该可以在没有任何背景模式的情况下做到这一点。

标签: android ios react-native push-notification expo


【解决方案1】:

确实前景化应用听起来好像应用正在后台主动运行,因此可以运行代码,但正如文档所述,这当前不可行独自世博。这意味着无法在应用处于后台时更改徽章计数。

另一方面,当应用程序处于前台或通知正在打开时,根据this table in the documentation,这变得可行。

在 iOS 上设置任意徽章计数可以使用 Notifications.setBadgeNumberAsync(number) 完成,而对于 Android,the only option available 是使发送的推送通知计入给定频道的徽章计数。

【讨论】:

  • “文档中的此表”链接已损坏
  • this table in the documentation - 搜索“当...收到推送”
  • 感谢@Oversteer 的补充,我当时实际上修复了断开的链接:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-24
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 2012-04-02
  • 1970-01-01
相关资源
最近更新 更多