通过 django 的主题通过 firebase 云消息传递发送通知

Send notification by firebase cloud messaging on a topic by django

我已经实现了一个 firebase 云消息传递应用程序,它根据设备令牌向 android 设备发送通知,效果很好。我用过 django-fcm 模块。但是,为每个用户设备存储设备注册码在实际应用中有点困难,因为我不想修改前端源代码。

因此我决定使用主题消息传递。我找不到任何关于此的有用文档。

view.py

def send_notification(registration_id,message_title, message_body):
   try:
      push_service = FCMNotification(api_key=FCM_DJANGO_SETTINGS['FCM_SERVER_KEY'])

      result=push_service.notify_single_device(registration_id=registration_id, message_title=message_title,
                                        message_body=message_body)
      return result
   except:
      pass

def send_noti(request):
    device_token = "dEMspOwATpiFVumQGi1QOS:APA91bEZsTu7SbRTYRDGJjhNhHRErYd_UHs43rrPY6uN4yXe5_UHnPpepocFP60wnnU2IImCBXcem0rVuEUj7PCPc9EfkC0W4cLrNSmBCoWM5mz8jp9YgYF-VurJ1JyoRH627IH5Ujxn"
    send_notification(device_token,"title","body")
    return JsonResponse({"status": "success"}, safe=False)

urls.py

urlpatterns = [
    path('noti/', views.send_noti, name='send_noti'),
]

任何人都可以使用 django 帮助发送有关主题的通知吗?

感谢 FrankvanPuffelen 的帮助

完整实现如下

views.py

从fcm_django.fcm导入fcm_send_topic_message

def send_noti_topic(self):
    fcm_send_topic_message(topic_name='NEWYORK_WEATHER', message_body='message body', message_title='title')
    return JsonResponse({"status": "success"}, safe=False)

urls.py

urlpatterns = [
    path('noti/', views.send_noti_topic, name='send_noti_topic'),
]