【问题标题】:Send notification by firebase cloud messaging on a topic by django通过 django 的主题通过 firebase 云消息发送通知
【发布时间】:2021-04-12 03:43:34
【问题描述】:

我已经实现了一个 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 发送有关主题的通知吗?

【问题讨论】:

标签: python android django push-notification firebase-cloud-messaging


【解决方案1】:

感谢 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'),
]

【讨论】:

  • 你好@Salah,我也面临同样的问题。当我调用设备 api 时,它会询问registration_id ...您的答案会将通知发送给所有用户吗?什么场景??
  • 嗨@Reactoo,是的。它将发送到订阅了相同主题的所有设备。
猜你喜欢
  • 1970-01-01
  • 2018-01-18
  • 2016-12-08
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-09
  • 1970-01-01
相关资源
最近更新 更多