如何通过PyFCM仅发送带有数据有效负载的FCM消息?

时间:2016-12-22 10:35:23

标签: android firebase firebase-cloud-messaging 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 个答案:

答案 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。