Отправка индивидуальных push-уведомлений с помощью FCM

У меня есть простое приложение WebView для мобильного адаптивного веб-сайта с функцией аутентификации (аутентификация не в самом приложении, а в WebView -> он использует сеансы и файлы cookie для долгосрочного входа в систему)

Я хочу отправлять push-уведомления индивидуально для каждого пользователя на основе данных в базе данных веб-сайта.

Мои проблемы следующие:

  1. Как мне установить «соединение» между зарегистрированным пользователем в WebView и приложением? (Возможно, извлечь файл cookie для входа из WebView?)

  2. Как использовать FCM специально для отдельных пользователей (собранных и связанных в вопросе 1), а не для общих уведомлений. Я нашел некоторую информацию по этому поводу, что мне пришлось бы создать «тему» для каждого пользователя, что звучит не слишком надежно, так ли FCM используется для индивидуальных уведомлений?

Функция выглядит так (node.js):

function sendNotificationToUser(username, message, onSuccess) {
  request({
    url: 'https://fcm.googleapis.com/fcm/send',
    method: 'POST',
    headers: {
      'Content-Type' :' application/json',
      'Authorization': 'key='+API_KEY
    },
    body: JSON.stringify({
      notification: {
        title: message
      },
      to : '/topics/user_'+username
    })
  }, function(error, response, body) {
    if (error) { console.error(error); }
    else if (response.statusCode >= 400) { 
      console.error('HTTP Error: '+response.statusCode+' - '+response.statusMessage); 
    }
    else {
      onSuccess();
    }
  });
}

источник: https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html

# firebase firebase-cloud-messaging android-webview
Источник
Codelisting
за 0 против

Помимо темы , уведомления также можно отправлять с помощью токена уведомления для конкретного устройства. Эти токены уведомлений зависят от устройства и, насколько мне известно, вне системы аутентификации. Если я правильно понимаю, ваше приложение зависит отWebView для всех целей приложения.

Я бы посоветовал перейти по вышеупомянутой ссылке и реализовать извлечение токена в вашем приложении, а затем передать его в качестве параметра URL-адреса. Вместо темы вы можете передать список (или один) токен (ы) уведомления для целевых отдельных устройств (не пользователей).

Надеюсь, это поможет!!

Codelisting
Популярные категории
На заметку программисту