android - 如果满足某些条件,是否可以使用 firebase 创建自动推送通知,而无需网络?

标签 android ios firebase firebase-cloud-messaging

如果我制作一个完全移动应用系统,使用 Firebase 作为其云 API 端点,而没有任何 Web 服务器 API 帮助程序,那么如果 Firebase 上有某些数据,是否可以使 Firebase(或移动设备)向所有或目标设备发送推送通知满足某些条件吗?

例如,如果我有这种数据:

com.example.app
+ votes
  + a9sd7f98asdf
    - rating: 8
    - timestamp: 129387129387
  + asf9d80a9dsf
    - rating: 3
    - timestamp: 219837182387
  + a9s8d7f9asd8
    - rating: 4
    - timestamp: 123981723189
  + asf8a9sd8f79
    - rating: 9
    - timestamp: 123981728388

是否可以根据以下情况让 Firebase 向所有或目标设备发送推送通知:

  1. 投票中是否有任何新评分低于 5? (如果 Firebase 数据获得评分低于 5 的任何新投票,Firebase 将立即发送包含静态消息和/或数据路径的推送通知)。

  2. 一周数据内,计算出的评分平均值小于5? (在某个时间触发的事件中,Firebase会计算平均评论数并进行检查,如果计算出的平均值小于5,Firebase将发送包含静态消息的推送通知)。

如果 Firebase 无法自行进行计算和检查,是否可以触发 Android/iOS 移动应用发送此类推送通知?

最佳答案

目前没有任何 Firebase API 能够完全满足您所需的功能。

要将通知发送到设备,您必须为 API 指定 FCM 服务器 key 。顾名思义,此 key 只能在受信任的环境中使用,例如您的开发计算机、您控制的服务器或云功能。

正如 Doug 所说,您可以在 Cloud Functions(或其他受信任的环境)中实现精确的逻辑,然后调用 FCM REST API,或者使用 Firebase 的 Admin SDK(如果适用于您的平台)之一来发送消息。

我建议查看之前有关该主题的一些答案:

关于android - 如果满足某些条件,是否可以使用 firebase 创建自动推送通知,而无需网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57651321/

相关文章:

ios - 在自定义 UIPrintPageRenderer 中使用 UIFont 绘制字符串对象

ios - Cloudkit获取数据(字符串和图像资源)在调用后需要很长时间才能出现

网站的 Firebase 注册 token

android - 安全背景大小

android - 为什么 FirebaseMessagingService.onMessageReceived() 没有被调用?

java - 如何让 TextView 位于底部中心?

android - 使用 Retrofit 从服务器读取纯文本响应

ios - 在滚动 UITableView 之前,UITableCell 中的 UILabel 的大小不正确

android - 适用于Android的Firebase Analytics

java - 为什么甚至在点击上传按钮 Android Firebase Storage 之前图像就会自动上传?