React Native 使用Expo进行群组通知

hivapdat  于 2023-01-02  发布在  React
关注(0)|答案(2)|浏览(184)

我有一个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
)
8nuwlpux

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

v1uwarro

v1uwarro2#

看起来你现在无法控制世博会应用程序中的通知分组方式,但我注意到在IOS上,它们会自动分组在一起,而在Android上,你需要将notification.androidMode设置为collapse
Take a look at current documentation: https://docs.expo.dev/versions/latest/config/app/#androidmode

app.json

Path: notification.androidMode
Type: enum

Show each push notification individually (default) or collapse into one (collapse).

所有消息仍然是单独的通知,但至少它们会合并成一个(堆栈)。
这将只适用于独立的应用程序,也不是在世博会去。

相关问题