我有一个React原生消息应用程序是用Expo做的。我得到了工作的通知,但问题是每个消息都是一个单独的通知。
我希望对同一个人发送的通知进行分组。当前,我有:
[Notification]
John - Hey, how are you?
[Notification]
John - Long time no see!
我希望在收到第二条消息时将它们合并为一条消息,如下所示:
[Notification]
John |
Hey, how are you?
Long time to see!
我可能遗漏了一些东西,因为我找不到其他人对这样一个常见的功能感到好奇。
我用来从后端发送通知的代码(python):
headers = {
'Accept': 'application/json',
'Accept-encoding': 'gzip, deflate',
'Content-Type': 'application/json',
}
session.post(
"https://exp.host/--/api/v2/push/send",
json = {
"to": expo_token,
"title": username,
"body": message_content,
},
headers=headers
)
2条答案
按热度按时间8nuwlpux1#
在iOS中,您应该使用apns-collapse-id
https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns
用于将用户的多个通知合并为单个通知的标识符。通常,每个通知请求都会导致在用户设备上显示一个新通知。多次发送同一通知时,请在此标头中使用相同的值来合并请求。此键的值不得超过64个字节。
要使用折叠功能,您可以使用通知其他服务。它支持折叠和本地React-例如
https://documentation.onesignal.com/docs/how-notifications-work#section-notification-collapsing
v1uwarro2#
看起来你现在无法控制世博会应用程序中的通知分组方式,但我注意到在IOS上,它们会自动分组在一起,而在Android上,你需要将
notification.androidMode
设置为collapse
。Take a look at current documentation: https://docs.expo.dev/versions/latest/config/app/#androidmode
所有消息仍然是单独的通知,但至少它们会合并成一个(堆栈)。
这将只适用于独立的应用程序,也不是在世博会去。