Firebase Cloud Messaging Push Notification Без кода сервера [дубликат]

Для качественного решения NodeJS / Javascript см. модуль id-shortener , который тщательно протестирован и использовался в производстве в течение нескольких месяцев.

Он обеспечивает эффективный идентификатор / url shorter, поддерживаемый подключаемым хранилищем, по умолчанию используется redis, и вы даже можете настроить свой короткий набор символов id, и будет ли сокращение idempotent . Это важное различие, которое не учитывают не все укороченные URL.

В отношении других ответов здесь этот модуль реализует превосходный принятый ответ Марселя Джекверта выше.

Ядро решение предоставляется следующим фрагментом Redis Lua :

local sequence = redis.call('incr', KEYS[1])

local chars = '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ_abcdefghijkmnopqrstuvwxyz'
local remaining = sequence
local slug = ''

while (remaining > 0) do
  local d = (remaining % 60)
  local character = string.sub(chars, d + 1, d + 1)

  slug = character .. slug
  remaining = (remaining - d) / 60
end

redis.call('hset', KEYS[2], slug, ARGV[1])

return slug

15
задан Svitlana 4 June 2016 в 19:43
поделиться

5 ответов

В настоящее время отправлять сообщения из самого приложения невозможно. Вы можете отправлять сообщения с веб-консоли Firebase или с настраиваемого сервера с использованием API-интерфейсов на стороне сервера.

Что вы можете сделать - это связаться с сервером (например, через HTTP-вызов), и этот сервер будет отправьте сообщение пользователю. Таким образом, убедитесь, что API-ключ сервера защищен.

PS: sendMessage(..) api вызывается восходящей функцией и может использоваться для отправки сообщений из вашего приложения на ваш сервер, если сервер имеет соединение XMPP с сервером FCM.

19
ответ дан Diego Giorgini 18 August 2018 в 19:48
поделиться
  • 1
    Кажется, мне нужен сервер для отправки push-уведомлений. Спасибо за ответ! – Svitlana 12 June 2016 в 21:35
  • 2
    @Svitlana: Если этот ответ был полезен, нажмите кнопку вверху слева от него. Если он ответил на ваш вопрос, нажмите галочку, чтобы принять его. Таким образом, другие знают, что вам (в достаточной мере) помогли. – Frank van Puffelen 29 June 2016 в 17:35
  • 3
    Спасибо, что ответ будет работать с сервером! – Svitlana 8 July 2016 в 12:51
  • 4
    Это возможно в android и ios, как – Vishal Patoliya ツ 26 July 2016 в 07:51
  • 5
    По вашему токену обновления от устройства – Vishal Patoliya ツ 26 July 2016 в 07:52

Использовать oneignal, вы можете отправлять устройства на уведомления или устройства на сегменты, он может работать с firebase таким образом. Используйте функции oneignal для создания определенного идентификатора, сохранения его в базе данных firebase, а затем, когда идентификатор можно поместить в другой функция, которая используется для отправки уведомления. Примечания: 1-я использую его в своих приложениях с firebase, отлично работает 2-я могу отправить этот код, просто комментарии, чтобы я мог найти этот ответ

-1
ответ дан Abdull 18 August 2018 в 19:48
поделиться

Облачные функции Google теперь позволяют отправлять push-уведомления с устройства на устройство без сервера приложений.

В документации по облачным функциям Google:

< blockquote>

Разработчики могут использовать функции облака, чтобы пользователи могли общаться и получать актуальную информацию о приложении. Рассмотрим, например, приложение, которое позволяет пользователям следить за действиями друг друга в приложении. В таком приложении функция, инициированная записью базы данных Realtime для хранения новых подписчиков, может создавать уведомления Firebase Cloud Messaging (FCM), чтобы сообщить соответствующим пользователям, что они получили новых подписчиков.

Пример:

  1. Функция запускает запись в путь базы данных Realtime, где хранятся последователи.
  2. Функция составляет сообщение для отправки через FCM.
  3. FCM отправляет уведомление сообщение на устройство пользователя.

Вот демонстрационный проект для отправки push-уведомлений устройства на устройство с помощью Firebase и облачных функций Google.

2
ответ дан Crashalot 18 August 2018 в 19:48
поделиться

Да, вы можете отправить push-уведомление через Firebase. Пожалуйста, не включайте серверный ключ в свой клиент. Есть способы «для не очень хороших людей» найти его и сделать что-то ... Правильный способ добиться этого - это для вашего клиента указание вашему приложению-серверу отправить уведомление.

Вы должны отправьте HTTP-сообщение в конечную точку Google-API.

Вам понадобятся следующие заголовки:

Content-Type: application/json
Authorization: key={your_server_key}
You can obtain your server key within in the Firebase-Project.

HTTP-Post-Content: Sample

{ 
    "notification": {
        "title": "Notification Title",
        "text": "The Text of the notification."
    },
    "project_id": "<your firebase-project-id",
    "to":"the specific client-device-id"
}
7
ответ дан Dupinder kaur 18 August 2018 в 19:48
поделиться
  • 1
    Вы говорите «да», другие говорят, что нет ... включая людей, которые работают на firebase ... так какой правильный ответ? – Boober Bunz 14 February 2017 в 21:51
  • 2
    Я реализовал это, и он отлично работает для меня :) – Dupinder kaur 16 February 2017 в 06:37
  • 3
    Они технически правильны. Этот ответ - это тот, который работает, но его нельзя делать, потому что вы подвергаете свой серверный ключ миру – Mbrevda 28 April 2017 в 13:51
  • 4
    Эй @ Дупинкакур, можете ли вы показать мне, как это сделать в быстром коде? Я сделал что-то подобное, но я получаю код ошибки 401. Запрос средств не разрешен. – Salman Ali 10 July 2017 в 09:16
0
ответ дан mert 30 October 2018 в 08:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: