Size: a a a

React Native — русскоговорящее сообщество

2020 January 24

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
Anton Vlasov
react-native-background-fetch
О, я пробовал вчера выполнять в нем запросы но так и не понял работает он или нет т.к. в asyncStrorage Он не писал данные
источник

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
Может я что-то не так делал, это точно не исключено
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Федор Макареев
О, я пробовал вчера выполнять в нем запросы но так и не понял работает он или нет т.к. в asyncStrorage Он не писал данные
Если его использовать, то будет 2 точки запуска приложения:
1. один ui обычный
2. второй именно фоновый процесс

в нем все также заново нужно инициализировать. У меня на проекте он юзается и все ок
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Если нужно именно посылать команду на загрузку от сервера, то тут только silent пуши
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
А в asyncStorage пишешь через redux store да?
источник

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
вариант когда запрос идет раз в n минут тоже годится, а есть какие тотограничения на время жизни таска в фоне?
источник

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
Anton Vlasov
А в asyncStorage пишешь через redux store да?
Напрямую
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Федор Макареев
вариант когда запрос идет раз в n минут тоже годится, а есть какие тотограничения на время жизни таска в фоне?
30 секунд каждый 15 минут на иосе
на андроиде хз, но что-то примерно такое же.
Вполне хватит чтобы загрузить, положить данные и уснуть
источник

V

Vadim in React Native — русскоговорящее сообщество
Вопрос. Делаю приложение с напоминаниями. Напоминания приходят пушами. Можно ли как-то настроить локальные пуши так, чтобы они повторялись?

Если человек зайдет в приложение, то я обновлю все запланированные пуши, но что если он не зайдет в приложение?
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Vadim
Вопрос. Делаю приложение с напоминаниями. Напоминания приходят пушами. Можно ли как-то настроить локальные пуши так, чтобы они повторялись?

Если человек зайдет в приложение, то я обновлю все запланированные пуши, но что если он не зайдет в приложение?
Ничего)) решаю сейчас такую же проблему, но ничего умнее не придумал чем планировать напоминания на год вперед
Сейчас пришла в голову идея, что можно пуш посылать каждый день и пусть шедулит себе в фоне
источник

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
Anton Vlasov
30 секунд каждый 15 минут на иосе
на андроиде хз, но что-то примерно такое же.
Вполне хватит чтобы загрузить, положить данные и уснуть
Я взял готовый кусок кода из примеров и добавил запись даты в asyncStorage,  и это не работает

let MyHeadlessTask = async () => {
 await AsyncStorage.setItem('@api/ипВфеф', JSON.stringify({date: new Date()}));
 BackgroundFetch.finish();
};

BackgroundFetch.configure({
 minimumFetchInterval: 15,     // <-- minutes (15 is minimum allowed)
 // Android options
 stopOnTerminate: false,
 startOnBoot: true,
 requiredNetworkType: BackgroundFetch.NETWORK_TYPE_NONE, // Default
 requiresCharging: false,      // Default
 requiresDeviceIdle: false,    // Default
 requiresBatteryNotLow: false, // Default
 requiresStorageNotLow: false,  // Default
 enableHeadless: true  // Default
}, () => {
 BackgroundFetch.finish(BackgroundFetch.FETCH_RESULT_NEW_DATA);
}, (error) => {
 console.log("[js] RNBackgroundFetch failed to start");
});

BackgroundFetch.registerHeadlessTask(MyHeadlessTask);
источник

V

Vadim in React Native — русскоговорящее сообщество
Anton Vlasov
Ничего)) решаю сейчас такую же проблему, но ничего умнее не придумал чем планировать напоминания на год вперед
Сейчас пришла в голову идея, что можно пуш посылать каждый день и пусть шедулит себе в фоне
Запланировать вроде только 64 пуша можно на iOS. Да, забыл сказать, что речь пока только про iOS.
А как в фоне шедулить?
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Федор Макареев
Я взял готовый кусок кода из примеров и добавил запись даты в asyncStorage,  и это не работает

let MyHeadlessTask = async () => {
 await AsyncStorage.setItem('@api/ипВфеф', JSON.stringify({date: new Date()}));
 BackgroundFetch.finish();
};

BackgroundFetch.configure({
 minimumFetchInterval: 15,     // <-- minutes (15 is minimum allowed)
 // Android options
 stopOnTerminate: false,
 startOnBoot: true,
 requiredNetworkType: BackgroundFetch.NETWORK_TYPE_NONE, // Default
 requiresCharging: false,      // Default
 requiresDeviceIdle: false,    // Default
 requiresBatteryNotLow: false, // Default
 requiresStorageNotLow: false,  // Default
 enableHeadless: true  // Default
}, () => {
 BackgroundFetch.finish(BackgroundFetch.FETCH_RESULT_NEW_DATA);
}, (error) => {
 console.log("[js] RNBackgroundFetch failed to start");
});

BackgroundFetch.registerHeadlessTask(MyHeadlessTask);
Печально, если так
источник

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
Anton Vlasov
Печально, если так
А у вас на проекте какая логика там выполняется?
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Vadim
Запланировать вроде только 64 пуша можно на iOS. Да, забыл сказать, что речь пока только про iOS.
А как в фоне шедулить?
Спасибо, не знал.
silent push ловить и слать команду на шедулинг
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Федор Макареев
А у вас на проекте какая логика там выполняется?
как у парня выше, я таким образом высчитывал когда показывать напоминание
источник

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
И из фонового таска можно пуши вызывать?
источник

ФМ

Федор Макареев in React Native — русскоговорящее сообщество
А что используете для сохранения данных в таске?
источник

V

Vadim in React Native — русскоговорящее сообщество
Anton Vlasov
Спасибо, не знал.
silent push ловить и слать команду на шедулинг
Можно чуть подробнее?

Делать PushNotificationIOS.addEventListener, ловить локальные пуши и создавать новые?
источник

AV

Anton Vlasov in React Native — русскоговорящее сообщество
Федор Макареев
И из фонового таска можно пуши вызывать?
А почему нельзя? Какое-то key value хранилище, может и AsyncStorage сейчас не могу посмотреть
источник