Firebase函数通知

我正尝试使用FCM服务发送简单的推送通知。

每当我的function被呼叫,我想收到一个通知,我希望我的手机振铃和振动。 我有两个问题:

当我收到通知时,我得到5个,而不是一个。

第二个问题是,如果我收到通知时手机的声音被激活,手机不会振动或振铃,但如果处于振动模式,则会在收到通知时振动。

任何想法如何解决这个问题? 谢谢!

'use strict' const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.sendNotification = functions.database.ref('/Alerts/{email_encoded}/{alert_id}').onWrite(event => { const email_encoded = event.params.email_encoded; const alert_id = event.params.alert_id; const deviceToken = admin.database().ref(`/Users/${email_encoded}/device_token`).once('value'); deviceToken.then(result => { const token_id = result.val(); const payload = { notification: { title: "Alert", body: "alert triggered", icon: "default", sound:"default", vibrate:"true" } }; return admin.messaging().sendToDevice(token_id, payload); }); }); 

而firebase数据库的json结构:

 "Alerts" : { "asdfgh@yahoo,com" : { "-KtXc_c7RMxysWGEb98L" : { "bid" : "1.30", "email" : "asdfgh@yahoo.com", "id" : "-KtXc_c7RMxysWGEb98L", "parity" : "EURUSD", "sign" : ">" }, "-KtmCD7REa9AKK57xhXP" : { "bid" : "1.33", "email" : "asdfgh@yahoo.com", "id" : "-KtmCD7REa9AKK57xhXP", "parity" : "EURUSD", "sign" : ">" }, "-KtmCpypQM_N1ub471Ta" : { "bid" : "1.333", "email" : "asdfgh@yahoo.com", "id" : "-KtmCpypQM_N1ub471Ta", "parity" : "EURUSD", "sign" : ">" } } 

我尝试从Firebase信息中心发送通知。 即使在高级设置中,我select了启用声音的function,但是当我收到手机中的通知时,没有发生振动或响铃。

问题是在我的手机上,我的通知声音已closures。 我在我的android / res / raw中添加了一个声音“mysound”,并且改变了sound:"default" sound:"mysound" ,现在当我收到通知时,我甚至可以得到我想要的声音。