Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
Firebase在Android中合并类似通知_Android_Firebase_Notifications_Firebase Cloud Messaging - Fatal编程技术网

Firebase在Android中合并类似通知

Firebase在Android中合并类似通知,android,firebase,notifications,firebase-cloud-messaging,Android,Firebase,Notifications,Firebase Cloud Messaging,我们在SIP应用程序中使用Firebase,在应用程序脱机时向我们发送未接来电通知和聊天通知 虽然发送和接收工作正常,但我们对Android客户端有影响,5个未接来电obv生成5个未接来电通知,填满了客户端设备上的通知栏 我们如何将这些通知合并在一起,只显示一个“5个未接来电”通知 在消息的数据或通知部分是否有其他标志(如分组) 以下是我们当前未接来电通知的示例: { "to":"<<FCMToken>>", "priority":"high",

我们在SIP应用程序中使用Firebase,在应用程序脱机时向我们发送未接来电通知和聊天通知

虽然发送和接收工作正常,但我们对Android客户端有影响,5个未接来电obv生成5个未接来电通知,填满了客户端设备上的通知栏

我们如何将这些通知合并在一起,只显示一个“5个未接来电”通知

在消息的
数据
通知
部分是否有其他标志(如分组)

以下是我们当前未接来电通知的示例:

{
    "to":"<<FCMToken>>",
    "priority":"high",
    "notification":{
        "title":"<<Displayname-of-Caller>>",
        "text":"<<Date-and-time-of-call>>", 
        "icon":"icon_notification_missed",
        "click_action":"MISSED_CALL"
    },
    "data":{
        "type":"sip-call-missed"
    }
}
{
“致”:“,
“优先级”:“高”,
“通知”:{
“名称”:“名称”,
“文本”:“,
“图标”:“图标通知丢失”,
“单击操作”:“未接来电”
},
“数据”:{
“类型”:“sip呼叫未接”
}
}

那么,将它们结合在一起的诀窍是什么呢?

我们找到了正确的解决方案。 通知内容有更多现有关键字。 我们需要的是
“tag”
。 我们甚至可以通过在
loc
键中提供资源名称来本地化通知的客户端文本

以下是可以捆绑在一起的正确消息:

{
"to":"<<FCMToken>>",
"priority":"high",
"notification":{
    "title_loc_key":"notification_missed_call",
    "tag":"MISSED_CALL",
    "body_loc_key":"notification_missed_call_multiple",
    "body_loc_args":["<<missed_call_count>>"],
    "icon":"icon_nav_main_chat",
    "click_action":"MISSED_CALL"
},
"data":{
    "type":"sip-call-missed"
}
}
{
“致”:“,
“优先级”:“高”,
“通知”:{
“title\u loc\u key”:“通知未接来电”,
“标签”:“未接来电”,
“body\u loc\u key”:“通知\u错过\u呼叫\u多次”,
“body_loc_args”:[“”,
“图标”:“图标导航主聊天”,
“单击操作”:“未接来电”
},
“数据”:{
“类型”:“sip呼叫未接”
}
}
标记
将由客户端合并。。。说:他们将互相替换。每当带有标记的通知到达时,它都会用相同的标记替换所有其他现有通知。 所以这里的技巧是,提供一个运行计数
(服务器必须计数),这样客户端可以显示一个不断增加的数字,比如“5个未接来电”。
字符串
%d missed calls“
存储在名为
“notification\u missed\u call\u multiple”的客户端字符串资源中

我们找到了正确的解决方案。 通知内容有更多现有关键字。 我们需要的是
“tag”
。 我们甚至可以通过在
loc
键中提供资源名称来本地化通知的客户端文本

以下是可以捆绑在一起的正确消息:

{
"to":"<<FCMToken>>",
"priority":"high",
"notification":{
    "title_loc_key":"notification_missed_call",
    "tag":"MISSED_CALL",
    "body_loc_key":"notification_missed_call_multiple",
    "body_loc_args":["<<missed_call_count>>"],
    "icon":"icon_nav_main_chat",
    "click_action":"MISSED_CALL"
},
"data":{
    "type":"sip-call-missed"
}
}
{
“致”:“,
“优先级”:“高”,
“通知”:{
“title\u loc\u key”:“通知未接来电”,
“标签”:“未接来电”,
“body\u loc\u key”:“通知\u错过\u呼叫\u多次”,
“body_loc_args”:[“”,
“图标”:“图标导航主聊天”,
“单击操作”:“未接来电”
},
“数据”:{
“类型”:“sip呼叫未接”
}
}
标记
将由客户端合并。。。说:他们将互相替换。每当带有标记的通知到达时,它都会用相同的标记替换所有其他现有通知。 所以这里的技巧是,提供一个运行计数
(服务器必须计数),这样客户端可以显示一个不断增加的数字,比如“5个未接来电”。
字符串
%d missed calls“
存储在名为
“notification\u missed\u call\u multiple”的客户端字符串资源中

感谢您共享解决方案Grisgram。干杯!:)感谢分享您的解决方案Grisgram。干杯!:)