Я работаю над приложением для видеовызовов, в котором пользователь получает уведомление посредством входящего вызова и может щелкнуть уведомление, чтобы начать вызов. Прямо сейчас уведомление отправляется, когда приложение закрывается или работает в фоновом режиме, но не при открытии приложения на переднем плане.
Кроме того, нажатие на уведомление, когда приложение работает в фоновом режиме или не работает, только откроет приложение и не запустит видеовызов. Единственный способ начать вызов - это получить уведомление, когда приложение находится в фоновом режиме / не работает, вручную открыть приложение и затем щелкнуть уведомление.
Вот мой код, который обрабатывает отправку уведомлений:
var fcm = require('fcm-notification');
var serverKey = require('./fcmKey.json');
var FCM = new fcm(serverKey);
const payloadBody = {
room,
caller,
language,
receiver
}
var message = {
token : deviceToken,
data : payloadBody,
notificaton: {
title : 'MyApp',
body: 'Somebody is calling'
}
FCM.send(message, function(err, response) {
if(err) {
console.error('Notification error: ${JSON.stringify(err)}');
} else {
console.error('Notification success: ${JSON.stringify(response)}');
}
}
Мой манифест также содержит сервис fcm:
<service android:name="com.evollu.react.fcm.MessagingService" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>