Push-уведомления PushEvent данные являются нулевыми - PullRequest
0 голосов
/ 06 марта 2019

Я настроил Push-уведомления с использованием Firebase и не могу отправлять пользовательские данные.

Я также пробовал библиотеку PyFCM , но данные по-прежнему нулевые. Из того, что я обнаружил, требует шифрования , но я не уверен, как это реализовать.

Как я могу зашифровать push-данные в python или отправить пользовательские данные через push-уведомления?

Я надеюсь запустить event_handler.py как службу, опросить базу данных MySQL на предмет новых уведомлений и отправить push-уведомление этому пользователю.

Я уже сохраняю регистрационные идентификаторы пользователя, мне просто нужно иметь возможность отправлять данные с помощью push-уведомлений.

сервис-worker.js

 self.addEventListener('push', function(event) {
  if (event.data) {
    console.log(event.data.text());
  }
  console.log('Received a push message', event);

  if (event.title) {
    var title = event.title;
  } else {
    var title = 'New message.';
  }

  var body = 'You have received a push message.';
  var icon = 'img/logo.png';
  var tag = 'simple-push-demo-notification-tag';

  event.waitUntil(
    self.registration.showNotification(title, {
      body: body,
      icon: icon,
      tag: tag,
    })
  );
});

Я могу отправить Push-уведомление, используя следующее:

notification_handler.py

import requests

headers = {
    'Content-type': 'application/json',
    'Authorization': 'key=AAAAl...',
}

data="""{
   "to" : "fk1jL...",
   "data" : {
     "title" : "hi there",
     "body" : "new push message",
   },
 }"""


response = requests.post('https://fcm.googleapis.com/fcm/send', headers=headers, data = data)

Однако, когда push-уведомление получено, данные не выводятся в вывод консоли:

Received a push message  PushEvent {isTrusted: true, data: null, type: "push", target: ServiceWorkerGlobalScope, currentTarget: ServiceWorkerGlobalScope, …} bubbles: false cancelBubble: false cancelable: false composed: false currentTarget: ServiceWorkerGlobalScope {clients: Clients, registration: ServiceWorkerRegistration, onactivate: null, onfetch: null, oninstall: null, …} data: null defaultPrevented: false eventPhase: 0 isTrusted: true path: [] returnValue: true srcElement: ServiceWorkerGlobalScope {clients: Clients, registration: ServiceWorkerRegistration, onactivate: null, onfetch: null, oninstall: null, …} target: ServiceWorkerGlobalScope {clients: Clients, registration: ServiceWorkerRegistration, onactivate: null, onfetch: null, oninstall: null, …} timeStamp: 0 type: "push"
__proto__: PushEvent
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...