Только что обновлен, чтобы реагировать на собственный 0.61.5 и реагировать на собственный firebase (v5.5.7). getToken()
функция не работает или просто зависает на await
.
У меня есть эта функция:
async function updatePushNotificationsEnabled(isEnabled: boolean) {
return updateUser({ pushNotificationsEnabled: isEnabled, firebaseId: await getToken() })
}
, которая в свою очередь вызывает:
async function getToken() {
try {
return FCM().getToken();
} catch (error) {
return undefined;
}
}
Если я буду следовать https://rnfirebase.io/docs/v5.x.x/messaging/device-token Я не могу получить токен от сервер. Если я попытаюсь console.log(await getToken())
, я ничего не получу в консоли. Если я console.log(FCM().getToken())
получу обещание в консоли. Что я делаю неправильно? или мне нужно обновиться до последней версии собственного встроенного firebase?
Я также проверил разрешения и разрешение на устройстве включено, поэтому возвращает true.
У меня есть функция для проверьте наличие разрешений, но это делается ранее в приложении, а не на том, что я делаю.
async function requestPermissionIfNeeded() {
try {
if (await FCM().hasPermission()) {
return true;
}
await FCM().requestPermission();
return await FCM().hasPermission();
} catch (error) {
return false;
}
}