前台显示通知反应原生firebase v6。

问题描述 投票:0回答:1

我使用的是最新的反应式原生版本0.62和最新版本的反应式原生-firebase,即v6。 我能够得到通知,并且它在后台工作正常,但它不显示在前景。

下面是截图。enter image description here

这是我的代码:

checkPermission = async () => {
    const enabled = await messaging().hasPermission();
    console.log('enabled ******* ',enabled)
    if (enabled) {
      this.getFcmToken();
    } else {
      this.requestPermission();
    }
  };

  getFcmToken = async () => {
    const fcmToken = await messaging().getToken();
    if (fcmToken) {
      console.log('Your Firebase Token is:', fcmToken);
      // this.showAlert('Your Firebase Token is:', fcmToken);
    } else {
      console.log('Failed', 'No token received');
    }
  };

  requestPermission = async () => {
    try {
      await messaging().requestPermission();
      // User has authorised
    } catch (error) {
      // User has rejected permissions
    }
  };

  messageListener = async () => {
    console.log('inside message listener ****** ')

    messaging().onMessage(async remoteMessage => {
      Alert.alert('A new FCM message arrived!', JSON.stringify(remoteMessage));
  };

  showAlert = (title, message) => {
    Alert.alert(
      title,
      message,
      [{ text: 'OK', onPress: () => console.log('OK Pressed') }],
      { cancelable: false },
    );
  };

  componentDidMount() {
    this.checkPermission();
    this.messageListener();
  }
javascript android react-native push-notification react-native-firebase
1个回答
0
投票

为函数 messageListener 添加行

const localNotif = new firebase.notifications.Notification()
                .setTitle('Gazelkin')
                .setBody(message.data.message)
                .setSound('default')

firebase.notifications().displayNotification(localNotif).catch(err => console.error(err))
© www.soinside.com 2019 - 2024. All rights reserved.