Мы используем устройства с ОС Linux и включенным JavaScript (с использованием node.js). Мы используем Google FCM для получения уведомлений. Мы используем библиотеку javascript (здесь добавлена функция Register()), чтобы получить токен fcm путем передачи идентификатора отправителя. Все работало нормально. Но за последние несколько дней мы получаем сообщение PHONE_REGISTRATION_ERROR и ошибку UNIMPLEMENTED/UNIMLEMENTED при попытке получить токен FCM.
Ниже приведен фрагмент кода.
(async () => {
try {
const credentials = await register(senderID);
const token = credentials.fcm.token;
const persistentIds = [];
await listen({ ...credentials, persistentIds }, onNotification);
} catch (e) {
console.info("Error::" + e);
}
})();
Ниже приведен код функции регистрации.
const uuidv4 = require('uuid/v4');
const { register: registerGCM } = require('../gcm');
const registerFCM = require('../fcm');
module.exports = register;
async function register(senderId) {
// Should be unique by app - One GCM registration/token by app/appId
const appId = `wp:receiver.push.com#${uuidv4()}`;
const subscription = await registerGCM(appId);
const result = await registerFCM({
token : subscription.token,
senderId,
appId,
});
// Need to be saved by the client
return Object.assign({}, result, { gcm : subscription });
}
За последние несколько дней мы получили ошибку PHONE_REGISTRATION_ERROR и UNIMPLEMENTED, как показано ниже.
Register request has failed with Error=PHONE_REGISTRATION_ERROR
Retry... 1
Error::StatusCodeError: 501 - "{\n \"error\": {\n \"code\": 501,\n \"message\": \"Operation is not implemented, or supported, or enabled.\",\n \"status\": \"UNIMPLEMENTED\"\n }\n}\n"
Или иногда возникает НЕОПРЕДЕЛЕННАЯ ошибка и невозможно получить токен. Я пытался перезагрузить устройства несколько раз, но безрезультатно.
Я ответил на множество вопросов в Интернете. Все они демонстрируют проблемы с приложениями Android, решение которых заключается в очистке кэша, удалении приложения и переустановке приложения. Но я не смог найти решение для этой программы на основе JavaScript. Может кто-нибудь, пожалуйста, дайте мне знать, есть ли способ решить эту проблему.
🤔 А знаете ли вы, что...
JavaScript можно использовать для манипуляции DOM (Document Object Model), что позволяет изменять содержимое и структуру веб-страницы.
У меня та же проблема. Я использую ту же библиотеку в своем приложении Electron.
На устройствах, которые уже успешно получили токен FCM, все работает нормально. Но новые устройства не могут получить новый токен FCM. Они получают ту же ошибку, что упомянута в сообщении OG.