我正在尝试向主题订阅者发送仅限数据的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}
但是没有出现通知。需要向没有正在运行的应用程序(具有后台或关闭状态)的所有主题订阅者显示消息
答案 0 :(得分:1)
嗨请升级到pyfcm的最新版本。经过源代码后,我发现pyfcm总是在有效负载中添加“通知”字典,但现在他们在源代码中引入了一个选项“remove_notification”,这样就防止了除了有效载荷。因此pyfcm不提供任何数据方法只有“notify_topic_subscribers”我们必须覆盖fcm.py或fork项目并更改。在fcm.py方法中,将“remove_notification”添加到“notify_topic_subscribers”方法,并在该函数的“parse_payload”调用中将其设置为true.Thats it。