Firebase 如何通过云功能向指定用户发送通知?
是否有任何方法向指定用户发送通知Firebase 如何通过云功能向指定用户发送通知?,firebase,google-cloud-functions,Firebase,Google Cloud Functions,是否有任何方法向指定用户发送通知 const res = await db.collection('users') .where('businessDetails.serviceSubCategories','array-contains',subId) .where('businessDetails.isApplied','==','Y') .get(); if(res.empty){ return; }else{ //se
const res = await db.collection('users')
.where('businessDetails.serviceSubCategories','array-contains',subId)
.where('businessDetails.isApplied','==','Y')
.get();
if(res.empty){
return;
}else{
//send notification only response users
const payload: admin.messaging.MessagingPayload = {
notification:{
title: `New Enquiry`,
body:`${customerName} published to ${subName}`,
badge: '1',
sound: 'default'
}
}
return fcm.sendToTopic('requirements',payload);
}
Firebase有两种不同的方式发送FCM消息: 无论是按主题还是按主题,这都是你正在做的事情。 或者通过registrationToken,以一个具有特定密钥的单个用户/设备为目标。 令牌是客户端生成的,您必须非常安全地发送到DB,如果有人可以访问该令牌,他将能够向您的用户发送通知 下面是发送通知的代码: //此注册令牌来自客户端FCM SDK。 var registrationToken='您的注册令牌'; var消息={ 数据:{ 得分:850分, 时间:2:45 }, 令牌:注册令牌 }; //将消息发送到与所提供设备对应的设备 //注册令牌。 admin.messaging.sendmessage .thenresponse=>{ //响应是消息ID字符串。 console.log“已成功发送消息:”,响应; } .catcherror=>{ console.log“发送消息时出错:”,错误; }; 现在提出了如何从用户处获取令牌的问题: 以下是网站的代码: //获取实例ID令牌。最初,一旦检索到,就会进行网络调用 //对getToken的后续调用将从缓存返回。 messaging.getToken.thencurrentToken=>{ if-currentToken{ sendTokenToServercurrentToken; updateUIForPushEnabledcurrentToken; }否则{ //显示权限请求。 log“没有可用的实例ID令牌。请求生成一个实例ID令牌的权限”; //显示权限界面。 需要更新IForpushPermissions; setTokenSentToServerfalse; } }.catcherr=>{ console.log“检索令牌时出错。”,错误; showToken“检索实例ID令牌时出错”,错误; setTokenSentToServerfalse; };