Firebase在实时数据库中发送FCM并将数据存储在uid中

时间:2016-06-16 10:07:42

标签: firebase firebase-realtime-database firebase-cloud-messaging

我刚刚开始使用新的Firebase产品,我希望一些Firebase专家可以验证我的方法。

我希望使用Firebase云消息传递向我的应用用户的子集(个人和群组)发送推送通知。至关重要的是,我还希望同时存储针对每个用户的一些信息(在实时数据库中)。我的/users节点看起来像这样:

/users
   -uid (the unique id created by Firebase)
       -firstname
       - ...
       - msgHistory
            -msgId
               -date
               -text
               -...

我需要更新所有目标用户的msgHistory,无论他们是否已选择推送消息。那么,以下方法是否有意义?

  1. 为每组用户创建我自己的目标uid列表(我认为我不能使用主题,因为我想定位那些还没有选择推送通知的用户?)< / LI>

    然后当我想向该组发送消息时,

    1. 循环浏览每个uid更新其msgHistory节点和......
    2. 如果用户允许,则发送推送通知
    3. 假设:

      • 所有用户都将通过身份验证(电子邮件,Google和Facebook)
      • 在此阶段,我只关注iOS设备

1 个答案:

答案 0 :(得分:0)

这是非常好的方法。我使用FCM和facebook登录为Android创建了相同的消息应用程序,其工作方式与专业版:检查我的数据格式(json)

library(dplyr)

ggplot(df, aes(labels, gvs, size=p.value, fill=factor(group))) + 
  geom_line(data=df %>% group_by(group) %>% mutate(gvs=mean(gvs)),
            aes(group=group, colour=factor(group)), size=0.8,alpha=0.5) +
  geom_point(pch=21, stroke=1, aes(color=p.value<0.05)) +
  theme_bw() +
  theme(axis.text.x=element_text(angle=-90, hjust=0, vjust=0.5),
        panel.grid.major=element_blank(),
        panel.grid.minor=element_blank()) +
  scale_size_continuous(name="p values", limits=c(0, 0.5), breaks=seq(0,1,0.1), range=c(4,1)) +
  scale_color_manual(values=c(hcl(seq(15,375,length.out=8),100,65)[1:7],NA,"black")) +
  labs(x="Language", fill="Region") +
  guides(colour=FALSE, 
         size=guide_legend(reverse=TRUE, override.aes=list(color=NA,fill="grey50")),
         fill=guide_legend(reverse=TRUE, override.aes=list(color=NA, size=3)))