Могу ли я вызвать функцию уведомления с сервера, когда приложение закрыто? - PullRequest
0 голосов
/ 30 апреля 2019

Я хотел бы знать, могу ли я вызывать функцию в моем приложении с сервера, когда мое приложение закрыто? Как вызвать локальную функцию уведомления, когда мой сервер получает новое сообщение. Мой сервер находится в nodejs, и я использую mongodb. Спасибо!

1 Ответ

1 голос
/ 30 апреля 2019

@ Arzacks!

Теперь, позвольте мне показать вам некоторые фрагменты бэкэнда?(это только контрольный пример)

Этот образец использует AWS SNS для push-уведомлений. Обратите внимание на JSON PAYLOADS .Из-за параметра content-available обработчик уведомлений регистрируется на мобильных устройствах как процесс ФОНА.В логике frontend вы должны иметь дело с cold-start обработчиком событий.

...
// compose push message
apnsJSON = {
  aps: {
    alert: 'PUSH MSG FROM APPLE',
    sound: 'default',
    'content-available': '1',
    category: 'tabs.contact_pr', // param 4 client routing
  },
  // below are my custom params, ignore them
  target: '4',
  notId: '100204',
  notWhen: fn_current_moment()
};
gcmJSON = {
  data: {
    message: 'PUSH MSG FROM FIREBASE',
    sound: 'default',
    'content-available': '1',
    'force-start': '1',
    category: 'tabs.contact_pr', // param 4 client routing
    // below are my custom params, ignore them
    target: '4',
    notId: '100204',
    notWhen: fn_current_moment()
  }
};
var payload = JSON.stringify({
  default: 'TESTING PUSH MSG',
  APNS: JSON.stringify(apnsJSON),
  APNS_SANDBOX: JSON.stringify(apnsJSON),
  GCM: JSON.stringify(gcmJSON)
});
// AWS SNS publish now
// sending push to parent...
sns.publish({
  Message: payload,
  MessageStructure: 'json',
  TopicArn: String(topic.topicARN)
}, function(err, data) {
  if (err) {
    console.log(err);
  } else {}
  callback();
});
...
...