Два приложения Ionic 3 с одинаковым идентификатором приложения OneSignal + сервер Laravel - PullRequest
0 голосов
/ 10 октября 2018

Я разрабатываю Uber-подобный проект с использованием Ionic 3. Есть приложение для пассажира и еще одно для водителя.Оба должны подписаться на уведомления OneSignal.

Проблема возникает, когда моему серверу Laravel необходимо доставить уведомление: оба приложения имеют одинаковый идентификатор игрока OneSignal (на основе устройства вместо идентификатора приложения), то естьУведомление, которое должен обрабатывать пассажир, может быть отправлено водителю, если оба приложения установлены на одном устройстве.

Итак, мне нужна помощь, чтобы узнать, как лучше всего решить эту проблему:

  • Создайте еще одно приложение OneSignal и найдите способ заставить мой сервер Laravel выбирать, какие ONESIGNAL_APP_ID и ONESIGNAL_REST_API_KEY отправлять уведомления нужному приложению.(Практично, но я не уверен, возможно ли это).

  • Создание другого идентификатора игрока OneSignal для одного из приложений путем изменения исходного кода плагина OneSignal.(Это решение звучит очень глупо, но решит все сразу)

  • Сделать приложение 1 открытым приложением 2, если уведомление должно быть отправлено в приложение 2. Найти способ передачи информации уведомления между приложениями(глубокие ссылки?) и приложение make 2 обрабатывает полученную информацию так, как это было в исходном уведомлении.(Было бы необходимо, чтобы он работал как на Android, так и на iOS. Стоит ли это того?)

  • Просто используйте сервис для push-уведомлений, который может отправлять уведомления на основеидентификатор приложения и перенастройка сервера Laravel.

Какой из них будет лучшей альтернативой?Может ли быть еще один?

1 Ответ

0 голосов
/ 11 октября 2018

Мой совет - использовать теги.В приложении драйвера вы будете делать что-то вроде этого.

this.oneSignal.sendTag("driver", "true");
this.oneSignal.sendTag("passenger", "false");

и для пассажира:

this.oneSignal.sendTag("driver", "false");
this.oneSignal.sendTag("passenger", "true");
...