Реализация уведомления о push-сервере

Группа

Я планирую реализовать собственный сервер push-сервера сервера для приложений Android/IOS. Таким образом, мой сервер приложений (который может быть реализован через NodeJs) свяжется с Notification Server, чтобы отправлять сообщения на устройства. Поэтому я просмотрел интернет и нашел ниже существующие решения.

Google cloud messaging

Служба push-уведомлений Apple

Firefox os push-уведомления

Служба push-уведомлений Microsoft


Q1)
На их соответствующих сайтах; они сообщали только о том, как использовать свой сервер уведомлений. Однако мне нужна информация о том, как они реализовали свой серверный push.

Пожалуйста, скажите мне; следуют ли они ниже этого?

Опрос

Длительный опрос

Потоковый

События, отправленные сервером

Соединения TLS, SSL или TCP с клиентом

XMPP


Q2)

Ниже двух методов утверждают, что хотя мое приложение не работает; они все равно смогут отправлять уведомления в APP? Как это возможно?

Служба push-уведомлений Apple

Firefox os push-уведомления


Q3)

В Firefox os push уведомления; они сообщили, что избегают keep-Alive, чтобы сэкономить время автономной работы. Мой вопрос не остается в живых, как определить, что соединение все еще жив или нет?


Q4)

Это все это (GCM/APNS/FireFox OS) реализация только на стороне сервера и не принимает запросы от Клиента. Я прав?
Так что все-таки мой сервер должен обрабатывать миллионы запросов устройств, кроме push-сообщений, не так ли?
Если я использую websocket между моим собственным сервером уведомлений и клиентскими устройствами, мне нужно поддерживать еще одно соединение веб-соединения между моим сервером приложений и клиентами для получения запросов от устройств?

Ответы

Ответ 1

Есть хорошие статьи, доступные через Интернет, вы можете пройти через них, вы получите ответы. Однако я пытаюсь ответить на ваш вопрос: Ответы в основном верны для серверов android и google.

ANS1) У них есть их слушатели, которые должны использоваться вами, используя их классы библиотеки в вашем коде. Вам не нужно беспокоиться о том, чтобы толкнуть. Вы должны отправить сообщение серверу сервера, который выведет сообщение на устройство. Они используют OAuth. Что касается протоколов, существует два метода использования CCS и XMPP. CCS использует XMPP как аутентифицированный транспортный уровень, поэтому вы можете использовать большинство библиотек XMPP для управления соединением. Чтобы отправлять уведомления на устройство, вы можете написать код в приложении Android для отправки, а также код вашего сервера. отправка сообщения будет осуществляться только вашим кодом. Отдых будет зависеть от Google Server в случае GCM. Вы можете проверить детали по этой ссылке.

http://developer.android.com/google/gcm/server.html

Кроме того, для проблем безопасности

безопасность облачных сообщений Google https://groups.google.com/forum/#!topic/android-gcm/M-EevBitbhQ

Ans 2) Да, если ваше приложение не запущено, то и устройства получают уведомление, потому что вам нужно написать код для прослушивателей вещания. В фоновом режиме он будет слушать сервер, и всякий раз, когда какой-либо пакет сообщений будет там, он получит сообщение как уведомление. Android имеет сервис, который вам нужно не беспокоиться об этом. Вы должны использовать эти ресурсы только с помощью класса библиотеки, который упрощает вашу работу и позволяет им писать, если ваше приложение не запущено, а затем оно получает уведомление. Очевидно, что у слушателей будет какой-то приемник. Получите приложение. В разделе "Получить сообщение" в этой ссылке

http://developer.android.com/google/gcm/client.html

Ans 3) - Уведомления о выпуске Firefox OS Push предназначены для одного - пробуждения приложений. Они не занимаются данными. Проверьте эту ссылку

https://hacks.mozilla.org/2013/07/dont-miss-out-on-the-real-time-fun-use-firefox-os-push-notifications/

Ans 4) - Нет, это также будет требовать от пользователей. Я не уверен в других, но для GCM это будет сделано. Пожалуйста, отметьте "Отправить сообщение"

http://developer.android.com/google/gcm/client.html

Надеюсь, это помогло вам с вашим вопросом.

Ответ 2

Apple push-уведомление контролируется iOS, а не вашим приложением. Таким образом, это доступно, даже если приложение не работает. Чтобы отправить уведомление, вы открываете соединение ssl с сервером apple и отправляете полезную нагрузку push-уведомления. Нет опроса или чего-либо еще, так как iOS будет обрабатывать все.

Если вы намереваетесь писать свой собственный сервер, вы не можете нажимать оповещение пользователя и откачивать батарею, так как вам понадобится вытащить сообщение с вашего собственного сервера. Apple APNS контролируется iOS, она подключается к серверу Apple, когда-то на некоторое время, и собирает все push-уведомления для всех приложений на устройстве.

Ответ 3

Технические детали в стороне, есть различные сторонние решения, такие как Amazon SNS. В миллионах уведомлений должно быть около 0,50 доллара США. Сравнивая эту крошечную стоимость, чем внедрение собственных серверов/сервисов (время, затраты, надежность), я считаю, что вы должны тратить время на другие аспекты вашего проекта.