gpt4 book ai didi

javascript - 如何取消订阅(删除监听器)React Native Expo 推送通知

转载 作者:行者123 更新时间:2023-11-30 06:18:12 30 4
gpt4 key购买 nike

我想为用户提供取消订阅通知的选项。我已经阅读了 Expo 文档,但我仍然不确定如何在我的代码中实现它。

这是我想要实现的:https://docs.expo.io/versions/latest/sdk/notifications/#eventsubscription

Notifications.addListener(监听器)
事件订阅
然后是 remove()(函数)——从 future 的通知中取消订阅监听器。通知

这是 componentDidMount 方法:

  componentDidMount() {
registerForPushNotificationsAsync();

// Handle notifications that are received or selected while the app
// is open. If the app was closed and then opened by tapping the
// notification (rather than just tapping the app icon to open it),
// this function will fire on the next tick after the app starts
// with the notification data.
this._notificationSubscription = Notifications.addListener(this._handleNotification);

一些帮助会非常好

最好的问候穆萨亚布

最佳答案

只是快速回复,因为我认为大多数答案或评论至少都没有表达您的观点。您可以通过执行此操作来停止应用程序监听通知。_notificationSubscription.remove();但我假设你正在寻找一种方法来取消用户对所有 future 通知的订阅(你通常会在设置菜单或选项菜单中提供什么,这样你就不会在用户要求你的应用程序不向他们发送通知时向他们发送垃圾邮件),这个当然可以在大多数手机中通过手机的实际设置完成,因此您的应用程序需要遵守此请求,否则谷歌和苹果等应用程序商店将阻止您的应用程序被允许向任何用户发送通知,无论订阅状态如何。

目前处理这个问题的唯一方法是服务器端的远程通知,本地通知你可以只使用 asyncstorage 来存储设置并在推送任何定时通知之前引用它。您需要设置对通知服务器的调用以从数据库中删除通知 token ,从而防止您的系统向该设备发送任何 future 的通知。

关于javascript - 如何取消订阅(删除监听器)React Native Expo 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54868220/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com