Я создал новый проект Expo и попытался получить токен push-уведомлений, но это не удалось. Я получил сообщение об ошибке: «[Отклонение необработанного обещания: Ошибка: не удалось получить токен GCM для устройства]». Как я могу это исправить? Спасибо! Мое устройство: Samsung Galaxy A5 (2017), android 8.0.0
Я читал об этом, и это должно работать с "expo start", но для меня это не работает. "expo start" по умолчанию в package.json.
package.json:
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject"
},
"dependencies": {
"expo": "^31.0.2",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz"
},
"devDependencies": {
"babel-preset-expo": "^5.0.0"
},
"private": true
}
App.js:
componentDidMount() {
this.registerForPushNotifications();
}
registerForPushNotifications = async () => {
const { status: existingStatus } = await Permissions.getAsync(
Permissions.NOTIFICATIONS
);
let finalStatus = existingStatus;
if (existingStatus !== 'granted'){
const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
finalStatus = status;
}
if (finalStatus !== 'granted') {return;}
let token = await Notifications.getExpoPushTokenAsync();
console.info("token: ",token);
};





Для тех, кто сталкивается с этой проблемой, попробуйте следующее (не по порядку):
Эти шаги сделали это за меня. Ваше здоровье
Вам понадобится учетная запись на Expo.io.
Затем вам нужно будет ввести следующую команду в Терминале, в котором вы взаимодействуете с Expo.
expo login
Он попросит вас ввести имя пользователя, пароль вашей учетной записи expo. Вы можете проверить изображение ниже, чтобы увидеть, как оно выглядит в коде Visual Studio.
Подробнее см. Github ответ
Проблема была решена после перезагрузки компьютера и устройства. Может, это ошибка.