# #java #android #react-native #firebase-cloud-messaging #react-native-firebase
Вопрос:
Я пытаюсь реализовать push-уведомление в своем приложении. Я использовал react-native-firebase/app
и @react-native-firebase/messaging
библиотеки для push-уведомлений. я должен следовать полному документу и попытаться реализовать push-уведомление. Но я показываю эту ошибку при получении ошибки push-токена: [обмен сообщениями/неизвестно] Исключение java.io.IOException: java.util.concurrent.Исключение ExecutionException: java.io.Исключение IOException: ОШИБКА FIS_AUTH_ERROR.
Код:
import React, {Fragment, useEffect} from 'react';
import {StyleSheet, View, Text, Button} from 'react-native';
import messaging from '@react-native-firebase/messaging';
//1
const checkPermission = () => {
messaging()
.hasPermission()
.then((enabled) => {
if (enabled) {
getToken();
} else {
requestPermission();
}
})
.catch((error) => {
console.log('error checking permisions ' error);
});
};
//2
const requestPermission = () => {
messaging()
.requestPermission()
.then(() => {
getToken();
})
.catch((error) => {
console.log('permission rejected ' error);
});
};
//3
const getToken = () => {
messaging()
.getToken()
.then((token) => {
console.log('push token ' token);
})
.catch((error) => {
console.log('error getting push token ' error);
});
};
const Notification = () => {
useEffect(() => {
checkPermission();
messaging().setBackgroundMessageHandler(async (remoteMessage) => {
console.log('Message handled in the background!', remoteMessage);
});
});
return (
<View style={styles.container}>
<Text>Push Notification</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
button: {
margin: 10,
},
});
export default Notification;
Ответ №1:
У меня та же проблема, вы можете попробовать это решение: откройте собственный проект React от Android Studio, посмотрите на панель инструментов и выберите Сборка -> Очистить проект> после этого нажмите Запустить приложение (^R или control r на Macbook). Это работает на меня.