React-Native OneSignal для Android: ошибка: OneSignal.init не был вызван
Я пытаюсь использовать встроенный пакет реакции OneSignal для отправки push-уведомлений моим пользователям. Это нормально работает для iOS. Однако на Android каждый звонок OneSignal
время ожидания библиотеки Когда я бегу adb logcat
Я вижу следующее сообщение в моей консоли:
E / OneSignal: OneSignal.init не был вызван. Не удалось получить OSPermissionSubscriptionState
Согласно документации ( https://documentation.onesignal.com/v5.0/docs/react-native-sdk-setup), это не тот шаг, который я должен делать вручную, а скорее выполняется самой библиотекой при настройке до подписки. Я написал несколько вспомогательных функций для OneSignal, которые выдают ошибку выше:
getPermissionSubscriptionState = () => {
return new Promise((resolve, reject) => {
OneSignal.getPermissionSubscriptionState((state) =>{
console.log(state);
resolve(state);
});
});
}
enablePushnotifications = async () => {
OneSignal.registerForPushNotifications();
}
ensureSubscription = async () => {
const status = await this.getPermissionSubscriptionState();
console.log(status);
if(!status.notificationsEnabled && !status.hasPrompted) {
this.enablePushnotifications();
}
return status;
}
В моем корневом компоненте я вызываю ensureSubscription
метод вроде так: await OneSignalHelper.ensureSubscription();
, внутри ensureSubscription()
Я призываю getPermissionSubscriptionState()
, но как только я это сделаю, вышеприведенная ошибка будет напечатана.
Любая помощь будет принята с благодарностью.