Django-push-notifications в Django Rest Framework
Я пытаюсь использовать библиотеку django-push-notifications
в моем проекте Django REST backend. Я использовал Firebase Cloud Messaging. Вот реализация;
settings.py
PUSH_NOTIFICATIONS_SETTINGS = {
"FCM_API_KEY": "private key from FCM app"
}
views.py
user, created = User.objects.get_or_create(email=email, username=username)
if created:
GCMDevice.objects.create(registration_id="token", cloud_message_type="FCM", user=user)
models.py
@receiver(post_save, sender=Action)
def create_new_action(sender, instance, created, **kwargs):
if created:
devices = GCMDevice.objects.filter(Q(user=instance.admin)|Q(user__in=instance.users.all()))
msg = "New action is created in %s" % instance.name
devices.send_message(msg)
Мой вопрос в том, что должно быть registration_id
при создании объекта GCMDevice для каждого зарегистрированного пользователя?
registration_id
приходят из вашего фронтенда
фактически у вас должно быть api, которое получает fcm токен пользователя (frontend) или получает его (fcm токен) в регистрации пользователя или login api's
Ключ registration_id
совпадает с ключом endpoint
из объекта PushSubscription
на стороне клиента. который выглядит следующим образом:
{
"endpoint": "https://fcm.googleapis.com/fcm/send/...",
"expirationTime": null,
"keys": {
"p256dh": "...",
"auth": "..."
}
}