Облачная платформа для чатов в мобильных приложениях

в 12:11, , рубрики: mobile development, SaaS / S+S, SaaS сервисы, Блог компании i-Free, мобильная разработка, обмен сообщениями

Облачная платформа для чатов в мобильных приложениях
Чат в приложении или игре – актуальная тема во все времена. Создано огромное количество всевозможных решений для их реализации, в т.ч. на основе стандарта XMPP. Однако все они, на мой взгляд, имеют достаточно высокий порог входа: требуется вникание в клиентский API, особенности настройки и поддержки сервера.

В случае с мобильными приложениями все еще хуже – простых в использовании решений, адаптированных под их особенности, нет. Наша команда в последний год в i-Free занимается разработкой мессенджера Salut (salut.im), который, к сожалению, пока не стал конкурентом для всем известных WhatsApp, Viber и проч. Тем не менее, в ходе работы над ним мы прошли очень интересный путь, и теперь многое знаем и умеем в разработке обмена сообщениями на мобильных устройствах. Созданный нами серверный бекенд оказался весьма производительным, надежным и масштабируемым, а клиент-серверный протокол – простым в реализации на клиенте. Поэтому мы решили сделать сервис Salut Cloud, который позволит разработчикам мобильных игр и приложений быстро, в течение нескольких часов, создавать в своем приложении полнофункциональные чаты.В этой статье я изложу концепцию нашего сервиса и прошу дополнить его своими пожеланиями – что бы вам хотелось в нем увидеть.

Что такое Salut Cloud?

Мы видим Salut Cloud коммуникационной платформой для быстрого создания чатов в мобильных играх и Web-приложениях. А началось все с того, что другой проект в компании начал использовать наш бэкенд для реализации чатов в своем продукте – им это оказалось проще, чем строить свой велосипед.

Для кого это?

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

Зачем мне использовать Salut Cloud, если я и сам могу сделать чаты в своем приложении?

Создание системы обмена сообщениями в приложении — это, зачастую, трудоемкий процесс, таящий в себе много рисков. Отдельный вопрос: организация и поддержка надежного хостинга, который сможет выдерживать нагрузки при росте аудитории. Например, бэкенд упомянутого выше мессенджера Salut, на технологиях которого создана инфраструктура Salut Cloud, состоит из 12 серверов и обеспечивает обработку до 8 тысяч сообщений в секунду. Таким образом, использование нашего решения позволит свести трудозатраты и финансовые затраты на реализацию обмена сообщениями к минимуму и уделить больше внимания основной функциональности продукта.

Что именно можно сделать с помощью подобного сервиса?

Можно создать в своем приложении или игре (мобильной или web) полнофункциональный обмен сообщеними, который будет включать в себя:
• Чаты с различными видами контента: видеочаты, аудиочаты, текст, фото и любой другой контент пользователя;
• Предоставление информации о статусе доставки сообщения;
• Групповые чаты;
• Гарантированная отложенная доставка сообщений с поддержкой push-нотификаций Google и Apple.
При этом техподдержка и контроль работоспособности сервиса будут осуществляться в режиме 24*7.

Зачем использовать Salut Cloud, когда есть mBaas решения?

Мы видим свое решение как платформу для создания чатов. Если разработчику нужны только чаты и не требуется весь функционал mBaaS, будет намного проще использовать Salut Cloud. Мы реализовали крайне низкий порог вхождения — подключить наш сервис просто, для этого не надо разбираться в куче документации и серфить по вкладкам в личном кабинете. Для примера, наш iOS SDK содержит всего около десяти методов, включая идентификацию пользователя, администрирование групповых чатов, заливку кастомного контента сообщений и, собственно, сами методы работы с сообщениями. Чтобы подключиться к сервису достаточно будет получить API-ключ на сайте.

Как это работает?

В основе инфраструктуры лежит высокопроизводительное решение на базе HTTP-сервера на Эрланге, которое осуществляет обмен сообщениями через интерфейс web-советов, а также бизнес логика node.js, реализующая обработку сообщений, рассылку статусов доставки и пуш-нотификаций, управление групповыми чатами. Взаимодействие между HTTP-сервером и логикой node.js осуществляется через очереди RabbitMQ, что позволяет масштабировать все части нашей инфраструктуры независимо друг от друга в зависимости от текущей нагрузки. Доступ к возможностям системы осуществляется с помощью SDK, встраиваемого в игру или приложение.
Как я уже сказал, обмен данными между SDK и инфраструктурой Salut Cloud осуществляется посредством протокола web-sockets, что позволяет обеспечить доступ SDK к инфраструктуре через HTTP/HTTPS-соединение.

Бесплатный доступ к сервису

Для всех разработчиков будет доступен бесплатный базовый тариф, включающий лимит на количество одновременных соединений. Этот лимит будет достаточным не только для отладки приложения, но и для финальных релизов, рассчитанных на относительно небольшую (до нескольких десятков тысяч человек) аудиторию. При превышении базового тарифа будет предлагаться переход на платный тарифный план. Мы ожидаем, что его минимальная стоимость будет около $100-$150 в месяц.

Какие платформы поддерживает Salut Cloud?

На настоящий момент уже готовы прототипы SDK для Android и iOS, а также JavaScript-клиент для Web-приложений. Мы готовы к запросам на портирование SDK на другие платформы: Windows Phone, Unity (C#), PC и т.д.

Когда сервис станет доступным?

Мы планируем открыть Salut Cloud для публики летом 2014, но уже сейчас его можно потестировать в своих продуктах

Как опробовать прототип SDK

Цель этой публикации – рассказать о своей идее и собрать ваши предложения и конструктивную критику. Все, кто заинтересован в большей информации о возможностях SDK и хочет принять участие в бета-тестировании сервиса — пишите в комменты или на hi@salut.im

Автор: iFreeTeam

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js