Как отправить случайное локальное уведомление в реагировать на родной? - PullRequest
0 голосов
/ 04 мая 2020

У меня есть приложение, которое должно отправлять уведомления каждый день со случайными сообщениями пользователю в зависимости от того, сколько уведомлений они хотят (до 5 уведомлений в день) и в какое время они хотят (например, уведомления будут срабатывать только между 6:00 - 9:00 каждый день).

Для уточнения я создаю функциональность с идеей рассылки случайных вдохновляющих сообщений, которые я извлекаю из жестко закодированной переменной массива или файла json.

В настоящее время я использую этот пакет: https://github.com/zo0r/react-native-push-notification для создания локального уведомления.

Я попытался создать функцию, которая возвращает строку для параметра сообщения localNotificationSchedule, но когда я делаю это, вместо обычной строки, это не показывает уведомление.

PushNotification.localNotificationSchedule({
  id          : '1',
  userInfo    : { id: userId },
  message     : () => {
    return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 5); //trying to return random string every time notification fires.
  },
  date        : moment(Date.now()).add(2, 'seconds').toDate(),
  repeatType  : 'day',
});

Я подумал о том, чтобы использовать другой подход, например, безголовый реактивный JS, но только для android.

Также рассматривается использование https://www.npmjs.com/package/react-native-background-fetch. Но у меня сложный интервал для уведомлений. Например, пользователь может настроить запуск уведомлений с 6:00 до 6:30 ежедневно и запускать 5 уведомлений. В этом интервале уведомления будут запускаться каждые 6 минут.

Но минимальный интервал реакции-родной-фоновой выборки составляет всего 15 минут.

Я знаю, что это можно сделать, используя вместо этого уведомление pu sh, но при этом пользователю потребуется соединение, чтобы он мог получить уведомление, что не идеально для этого случая.

Я видел это из приложения Ios, так что я знаю, что этого можно достичь.

...