Открывайте приложение при нажатии на push-уведомление - PullRequest
0 голосов
/ 06 июня 2018

У меня есть приложение Ionic, которое получает push-уведомления через FCM.Проблема в том, что когда приложение не на переднем плане, и я нажимаю на уведомление в строке состояния, приложение не открывается (хотя выполняется действие с («уведомление»)).Это код моего мобильного приложения:

this.pushNotifications.on('notification').subscribe((data: any) => {
  if (data.additionalData.foreground) {
    alert('Ai primit un mesaj nou');
  }
  this.events.publish("gotMessage");
});

Обратите внимание, что this.events.publish("gotMessage"); выполняется.

И вот как я отправляю уведомление через Java:

Map body = DataMap.map(
    "registration_ids", tokens,
    "data", DataMap.map(
        "content-available", "1",
        "title", "Fmcg Reporter",
        "body", "Ai primit un mesaj nou",
        "sound", "default"
    ),
    "collapse_key", "FmcgReporter"
);

Map headers = DataMap.map(
   "Authorization", "key=" + key,
   "Content-Type", "application/json"
);

Strings.readMethodURL("POST", "https://fcm.googleapis.com/fcm/send", headers, Strings.toJSON(body));

1 Ответ

0 голосов
/ 07 июня 2018

Убедитесь, что при отправке push-уведомления с помощью вашего сервера вы указываете "click_action".Ниже приведен рабочий пример с моего сервера node.js:

// method: "POST",
//url: "https://fcm.googleapis.com/fcm/send",
    // get the key from Firebase console
    headers: { Authorization: `key=${fcmServerKey}` }, 
    json: {
        "notification": { 
            "title": "Message title",
            "body": "Message body",
            "click_action": "URL to your app?"
        },
        // userData is where your client stored the FCM token for the given user
        // it should be read from the database
        "to": userData.fcmRegistrationKey
    }
...