Реализация уведомления о 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 доллара США. Сравнивая эту крошечную стоимость, чем внедрение собственных серверов/сервисов (время, затраты, надежность), я считаю, что вы должны тратить время на другие аспекты вашего проекта.