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(), но как только я это сделаю, вышеприведенная ошибка будет напечатана.

Любая помощь будет принята с благодарностью.

0 ответов

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