在颤动中触发通知的最佳方法
Posted
技术标签:
【中文标题】在颤动中触发通知的最佳方法【英文标题】:Best way to trigger notification in flutter 【发布时间】:2019-12-12 04:06:06 【问题描述】:我的 Flutter 应用允许用户安排活动,并需要在时间到来时通知他们。这些事件涉及多个用户,可能会被删除。我正在寻找触发通知的最佳方式。
到目前为止,我已经找到了 2 个可以实现此目的的包:firebase_messaging
和 flutter_local_notifications
。
有了firebase_messaging
,我想到了创建一个云函数,当在firestore中创建一个事件时会触发它,它安排另一个云函数在事件期间运行,检查事件是否仍然存在于firestore中,并触发相应的通知。但是,我不确定是否可以从另一个内部安排云功能。
对于flutter_local_notifications
,我的问题是用户 B 可能会创建涉及用户 A 的事件,或者可能会在用户 A 的应用程序保持终止时删除该事件。因此,用户 A 的预定通知无法进行相应调整。
你认为最好的方法是什么?
【问题讨论】:
“但是,我不确定是否可以从另一个内部安排云功能。” -> 您可以使用 Cloud Pub/Sub 触发器,请参阅 firebase.google.com/docs/functions/pubsub-events。在第一个 CF 中,您将 Pub/Sub 消息发送到将触发第二个 CF 的特定主题。 Pub/Sub 不会立即触发第二个 CF 吗?我需要安排第二个 CF 在第一个 CF 中的某个时间(例如 2019 年 1 月 1 日 10:00)触发。 是的,Pub/Sub 将立即触发第二个 CF。如果您想在某个(可变)时间触发另一个 CF,您可以在具有日期/时间的特定集合中编写一个文档,并有一个计划的 CF (firebase.google.com/docs/functions/schedule-functions) 定期检查某些日期/时间值是否此集合的文档不如当前日期/时间。 我的问题是 CF 需要每分钟运行一次,我发现这在成本方面非常低效,大多数事件可能发生在一天中的特定几个小时内。 我明白了......但是请注意,每分钟运行一次对应于大约。每月 43200 次调用,免费套餐为每月 125000 次调用。 【参考方案1】:如果您需要涉及多人,颤动本地通知不适合您。它不是为此而构建的。
【讨论】:
您能提出替代解决方案吗? Firebase 是更好的选择 非常感谢您的回复,但是,如果您希望您的回答被接受,请在其中指定具体的解决方案。以上是关于在颤动中触发通知的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章