如何根据 Firebase 数据库中的条目向我的 android 应用发送通知? [关闭]
Posted
技术标签:
【中文标题】如何根据 Firebase 数据库中的条目向我的 android 应用发送通知? [关闭]【英文标题】:How to send a notification to my android app based on an entry in the Firebase database? [closed] 【发布时间】:2019-02-19 12:49:28 【问题描述】:我有一个使用 Firebase 数据库的安卓应用。用户可以通过指定日期和时间在应用程序中添加事件。我希望用户在设备时间和日期与他们添加的事件的 firebase 数据库中的条目匹配时收到推送通知。这与日历应用程序提醒用户的方式非常相似。我遇到的许多解决方案都涉及由 新数据库条目 或 https 请求 触发。当我希望现有的数据库条目触发通知时,如何实现我的想法?也许还有另一种方法可以解决这个问题?提前致谢。
--编辑-- 我正在寻找一种安排在未来特定时间发送通知的方法。
【问题讨论】:
你必须使用某种调度机制,但 Firebase 目前不提供类似的东西。 @DougStevenson 这就是我的想法。还有其他服务可以帮助我安排通知吗? 【参考方案1】:您可以使用 Cloud Functions for Firebase 在该字段更新时触发任意代码运行。然后,您必须在发送通知之前检查它是否与所需值匹配。大致基于this sample,您可以在运行通知之前检查日期是否匹配。现在这只是一个示例,并不完整,但希望它有助于理解这个想法。
exports.sendNotification = functions.database.ref('/user/uid/dates/date')
.onWrite(async (change, context) =>
const desiredDate = await admin.database().ref('desiredDate').get(); // get the desired date you want to match
const date = context.params.date;
if (date != desiredDate.val())
return null; // or whatever you want to do to exit program
// code to send message here
【讨论】:
我相信这是不可扩展的。此外,我要求将通知安排在用户指定的时间(不仅仅是日期)发送。 我误会了。我以为您的意思是,如果用户指定的日期匹配,您希望在用户创建事件时发出通知。以上是关于如何根据 Firebase 数据库中的条目向我的 android 应用发送通知? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何根据数据库用户 id(不是 uid)设置 firebase 规则
更新 Firebase 时从 ListView 中删除旧条目