Как отправить сообщение 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" в этой функции.

Другие вопросы по тегам