5

我在项目中使用 expo react native,并且在项目中使用 expo-notifications 包。

我已将“useNextNotificationsApi”:true 添加到我的 app.json 文件中,该文件位于 expo 对象下的 android 对象下,因此 expo.android.useNextNotificationsApi:true。

我还在从服务器发送到 expo 服务器的消息上设置了 experienceId,我正在使用https://github.com/expo/expo-server-sdk-node包进行发送。

   messages.push({
               to: red_user.fcm_token,
               sound: 'default',
               title: "Stylist Response",
               body: "Stylist has agreed to fulfill the request",
               data: {
                   experienceId: "@glamcentralng/GlamCentral",
                   order: order._id,
                   stylist_response: "agreed" 
               },
          })  

在我的 expo react 本机应用程序中,我正在使用我提到的 expo-notifications 包,并且在我的类组件中有以下设置。

import * as Notifications from 'expo-notifications';

.
.
.
.

 componentDidMount() {

    //Not working at all 
    Notifications.addNotificationReceivedListener( notification => {
      console.log(notification);
      this._handleNotification(notification)
    });

    //Working well
    Notifications.addNotificationResponseReceivedListener(response => {
      console.log(response);
    });
  
    this.registerForPushNotificationsAsyncNew();
}

addNotificationReceivedListener 在收到通知时没有收到通知,但我认为它是我真正的 Android 设备上的正常通知(我没有使用模拟器)。根据文档,当我单击通知时,addNotificationResponseReceivedListener 应该处理它并且确实如此。所以 addNotificationReceivedListener 不起作用,但 addNotificationResponseReceivedListener 工作得很好。

要添加的另一件事是,我在根据文档进行注册的函数中获得了一个令牌。

不知道如何解决这个问题,因为我在这里和 github 上检查了其他线程。任何帮助表示赞赏。

4

0 回答 0