Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为Firebase云消息通知提供标记属性?_Javascript_React Native_Firebase Cloud Messaging_Connectycube - Fatal编程技术网

Javascript 如何为Firebase云消息通知提供标记属性?

Javascript 如何为Firebase云消息通知提供标记属性?,javascript,react-native,firebase-cloud-messaging,connectycube,Javascript,React Native,Firebase Cloud Messaging,Connectycube,我正试图在Android上为我的Firebase云消息通知提供一个标签属性,如前所述,这样我就可以在必要时替换已收到的通知 我正在使用React Native和ConnectyCube API。ConnectyCube与Firebase一起处理用户管理,我已经完成了所有这些工作 我搞不清楚的是如何格式化我的有效负载对象,使其包含可选属性,例如标记,因为文档相当神秘。我正在成功发送一条消息,该消息包含在消息属性中,在ConnectyCube文档中,您将看到徽章的iOS可选属性只是有效负载对象中的另

我正试图在Android上为我的Firebase云消息通知提供一个标签属性,如前所述,这样我就可以在必要时替换已收到的通知

我正在使用React Native和ConnectyCube API。ConnectyCube与Firebase一起处理用户管理,我已经完成了所有这些工作

我搞不清楚的是如何格式化我的有效负载对象,使其包含可选属性,例如
标记
,因为文档相当神秘。我正在成功发送一条
消息
,该消息包含在
消息
属性中,在ConnectyCube文档中,您将看到
徽章
的iOS可选属性只是
有效负载
对象中的另一个属性,但在android的
标签
的情况下,以下代码不起作用:

export const sendNotification=async(calleeId、callLength、tagUUID)=>{
const callersUserName=await getUserNameFromStorage();
const payload=JSON.stringify({
消息:callersUserName+'-'+callLength,
标签:tagUUID,
});
常量参数={
通知类型:“推送”,
用户:{ids:[calleeId]},//收件人。
环境:'生产',//环境,可以是'production'。
消息:ConnectyCube.pushnotifications.base64Encode(有效负载)
};
ConnectyCube.pushnotifications.events.create(pushParameters,函数(错误,结果){
});
设置超时(()=>{
const payload2=JSON.stringify({
消息:“替换通知”,
标签:tagUUID,
});
常量参数2={
通知类型:“推送”,
用户:{ids:[calleeId]},//收件人。
环境:'生产',//环境,可以是'production'。
消息:ConnectyCube.pushnotifications.base64Encode(payload2)
};
ConnectyCube.pushnotifications.events.create(pushParameters2,函数(错误,结果){
});
}, 3000)
}
当推送通知具有相同的标记时,每个通知都将替换为较新的通知,我正试图用
setTimeout
模拟该通知

我收到两条消息,但第一条消息没有被第二条消息取代


非常感谢您的帮助!:)

标签是通知类型推送的有效负载键,但ConnectyCube将所有推送作为数据发送


通过数据推送,可以完全控制如何处理通知(显示或不显示),因此有一种方法可以在应用程序中添加代码来隐藏现有通知,然后在收到数据推送后显示新的通知。标签是通知类型推送的有效负载键,但ConnectyCube将所有推送作为数据发送


通过数据推送,可以完全控制如何处理通知(显示或不显示),因此有一种方法可以在应用程序中添加代码来隐藏现有通知,然后在收到数据推送后显示新通知

好的,非常感谢-您是否可以给我举一个示例,说明我将如何/在代码中执行此操作?目前,我担心我可能不得不部署自己的XXMP服务器来完成这项工作,并自己处理所有通知。好的,非常感谢您-您是否可以在代码中给我一个如何/在哪里完成这项工作的示例?目前,我担心我可能不得不部署自己的XXMP服务器来完成这项工作,并自己处理所有通知。。