我正在尝试将仅数据的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}


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

最佳答案

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

08-16 22:29