0

Пример: Запланируйте уведомление в течение 15 минут и сохраните местоположение пользователя.Возможно ли сделать уведомление с использованием геолокации в качестве условия?

Если пользователь оставляет радиус, уведомление не будет отправлено.

Можно ли сделать это с помощью orignal или только с cordovaLocalNotification?

var notificationObj = { 
       contents: { 
        en: "asdasdasd" 
       }, 
       include_player_ids: [playerId], 
       send_after: "2017-02-15 20:42:00 GMT-0200", 
      } 

window.plugins.OneSignal.postNotification(notificationObj, 
    function(successResponse) { 
     console.log("Notification Post Success:", successResponse); 
    }, 
    function (failedResponse) { 
     console.log("Notification Post Failed: ", failedResponse); 
     alert("Notification Post Failed:\n" + JSON.stringify(failedResponse)); 
     } 
    ) 
}) 

Перед тем, что я хотел бы сохранить текущее местоположение и во время отправки я бы сравнить, если место находится в пределах радиуса 1 км. Если да, я бы отправил его, если нет, я бы не отправил

+1

У вас есть пример того, что вы пробовали? – DaveOz

+1

Я отредактировал сообщение –

ответ

1

Существует два типа уведомлений: местные уведомления и push-уведомления. Локальные уведомления работают как предупреждение (т. Е. Я хочу пробудиться в 9 утра), и их можно сохранить и запустить локально, без какого-либо подключения к Интернету, в указанное время. Для такого рода уведомлений вы можете использовать плагин Local Notifications. Второй случай, Push-уведомления, отправляются (в основном ...) с вашего сервера в пользовательское приложение через Интернет, что соответствует типу правил уведомлений, установленных на стороне сервера. Итак, для вас конкретного случая, если я получил ваши потребности, вы можете:

  1. получить фактическое местонахождение и время, отправить все эти данные на сервер
  2. сохранить (со стороны сервера) эти данные и установить (15 минут) для отправки push-уведомления
  3. через 15 минут без информации из клиентского приложения отправьте уведомление о нажатии.

Если пользователь покинул радиус круга, отправьте сообщение на ваш сервер, указав «Я вышел из круга, не отправляйте мне push-уведомление». Вы можете решить, на стороне сервера, чтобы остановить дальнейшую отправку уведомлений.

Итак, для вашего случая я бы просто использовал Push-уведомления.

Небольшой недостаток: если пользователь теряет соединение и покидает круг, клиентское сообщение не будет отправлено на сервер, и сервер не будет уведомлен об этом, поэтому он отправит уведомление пользователю. В любом случае, вы можете управлять, на стороне клиента, в этом случае, чтобы избежать этого.

Редактировать: вы также можете управлять всем, используя локальные уведомления в качестве оповещений, и не использовать Push Notifications вообще, как пожелаете. Я бы не использовал обе системы.

+0

Спасибо, ты уточнил. Я попробую это –