1

我正在尝试向主题订阅者发送纯数据 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}

但没有出现通知。需要向所有没有正在运行的应用程序(具有后台或关闭状态)的主题订阅者显示消息

4

1 回答 1

1

嗨,请升级到最新版本的 pyfcm。通过源代码后,我发现 pyfcm 总是在有效负载中添加一个“通知”字典,但现在他们在其源代码中引入了一个选项“remove_notification”选项,以防止添加到有效负载. 因此,由于 pyfcm 仅“notify_topic_subscribers”没有为数据提供任何方法,我们必须覆盖 fcm.py 或 fork 项目并进行更改。在 fcm.py 方法中将“remove_notification”添加到“notify_topic_subscribers”方法中,并在该函数的“parse_payload”调用中使其为真。就是这样。

于 2017-12-21T11:25:28.267 回答