Настройка различных «click_action» для веб-и ионных приложений - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть веб-приложение (Angular 6) и мобильное приложение (Ionic 4), и оба подключены к одной базе данных.И я использую FCM (Firebase Cloud Message) для Push-уведомлений.Я перешел по 2 ссылкам 1. https://www.djamware.com/post/5c6ccd1f80aca754f7a9d1ec/push-notification-using-ionic-4-and-firebase-cloud-messaging 2. https://medium.com/@selvaganesh93/firebase-cloud-messaging-important-rest-apis-be79260022b5

Я создал FCM «Группу» для каждого пользователя.Это означает, что пользователь может войти в приложение, используя несколько устройств (браузер ИЛИ мобильный), и у этого пользователя будет один ключ «fcm_notification_key», который состоит из токена FCM с разных устройств.

Так что теперь, когда приложение отправляет любое уведомление на этот уникальный ключ "fcm_notification_key", все устройства (веб-и ионные приложения), связанные с этим ключом, будут получать.Это работает отлично.

  "notification":{
    "title":"Notification Title",
    "body":"Notification Body",
    "click_action" : "myweb.com/specific_url",
  }
  "notification":{
    "title":"Notification Title",
    "body":"Notification Body",
    "click_action" : "FCM_PLUGIN_ACTIVITY",
  }

Первый из них работает с Интернетом, и когда пользователь нажимает на уведомление, в браузере открывается URL-адрес, указанный в "click_action".Что правильно.

Второй работает с приложением Ionic.Когда пользователь нажимает на уведомление, он открывает приложение Ionic, поскольку для «click_action» указано «FCM_PLUGIN_ACTIVITY».Это также правильно.

Но проблема в том, что теперь я отправляю уведомления группе (которая будет содержать веб-приложение и ионное приложение).Как мне отправить данные, чтобы они работали как для сети, так и для ионной связи?

1 Ответ

0 голосов
/ 29 сентября 2019

Вы можете иметь метод в вашем json и, в зависимости от типа, обрабатывать событие из функции

"notification":{
   "title":"Notification Title",
   "body":"Notification Body",
   "click_action: ()" : "click_action()",
}

TS:

click_action() {
  if(app) {

  } else {   
}
...