我完成了一个功能,当在集合“ ocorrencia”上创建一个新文档时,它需要从集合“ admin”处的字段令牌(设备令牌)中获取所有值,因此每个用户都有一个,因此可以抓取并将其添加到阵列中,以便将“ admin”用户登录到所有设备。该函数执行并得到的结果是:状态为“ ok”,但没有向设备发送任何信息。
我尝试过使用forEach循环,但是没有运气。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.notificacao = functions.firestore
.document('ocorrencia/{ocorrenciaId}')
.onCreate((snap,context) => {
return Promise.all([admin.database().ref('admin/{key}/token').once('value')]).then(
results => {
const token = results[0];
if(!token.hasChildren()) return null;
let payload = {
notification: {
title:'Nova Ocorrência',
body:'Uma nova Ocorrência foi registrada'
}
}
const tokens = Object.keys(token.val());
return admin.messaging().sendToDevice(tokens,payload);
}
)
})
我的期望是该函数将该通知发送到阵列令牌中的所有设备。
该函数实际上在fcm返回:
8:10:48.538 PM 通知 函数执行开始
8:10:49.991 PM 通知 函数执行耗时1455毫秒,状态为“确定”
编辑: Github仓库:https://github.com/gianveloxbr/MacacoIrmaoADM/blob/master/macacoIrmao