Как исправить ошибку push-уведомлений Expo: «Не удалось получить токен GCM для устройства»?

Я создал новый проект 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);
};

Проблема была решена после перезагрузки компьютера и устройства. Может, это ошибка.

Laurentiu Tibea 29.12.2018 02:58
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
1
2 535
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Для тех, кто сталкивается с этой проблемой, попробуйте следующее (не по порядку):

  • Запустите приложение, используя "expo start". Установите expo-cli, если вы еще этого не сделали.
  • Очистите кеш приложений
  • Войдите в expo на своем клиенте, используя "expo login"

Эти шаги сделали это за меня. Ваше здоровье

Вам понадобится учетная запись на Expo.io.

Затем вам нужно будет ввести следующую команду в Терминале, в котором вы взаимодействуете с Expo.

expo login 

Он попросит вас ввести имя пользователя, пароль вашей учетной записи expo. Вы можете проверить изображение ниже, чтобы увидеть, как оно выглядит в коде Visual Studio.

Подробнее см. Github ответ

Другие вопросы по теме