Как отправить сообщение FCM с данными только через PyFCM?
Я пытаюсь отправить сообщение FCM только для данных подписчикам темы. Но это не работает, когда приложение в фоновом режиме или закрыто.
В моем приложении для Android есть следующий код:
FirebaseMessaging.getInstance().subscribeToTopic("topicname");
Мой код отправителя FCM
from pyfcm import FCMNotification
API_KEY = "AAAA....akZKg"
push_service = FCMNotification(api_key=API_KEY)
data = {
"title":"mytitle",
"body":"mybody",
"url":"myurl"
}
print(push_service.notify_topic_subscribers(topic_name="topicname", data_message=data))
выходы
{'canonical_ids': 0, 'results': [], 'failure': 0, 'success': 1, 'multicast_id': None}
Но уведомления не появляются. Необходимо показать сообщение всем подписчикам темы, которые не имеют запущенного приложения прямо сейчас (имеют фоновое или закрытое состояние)
1 ответ
Привет. Пожалуйста, обновитесь до последней версии pyfcm. После просмотра исходного кода я обнаружил, что pyfcm всегда добавлял в уведомления полезные данные "уведомления", но теперь они вводят опцию "remove_notification" в своем исходном коде, которая предотвращает добавление в полезную нагрузку., Так как pyfcm не предоставляет какого-либо метода только для данных "notify_topic_subscribeers", мы должны переопределить fcm.py или разветвить проект и изменить его. В методе fcm.py добавьте "remove_notification" в метод "notify_topic_subscribeers" и сделайте его истинным при вызове "parse_payload" в этой функции.