Telegram: введение для новичков
Эта статья для тех, кто только осваивает Telegram. На первый взгляд, что это ещё один WhatsApp или Viber. Вы сможете переписываться с друзьями, звонить им, обмениваться фото и другими файлами. Но не только. Подробности — в нашем гайде по базовым возможностям.
На каких устройствах работает Telegram
Использовать сервис можно на большинстве современных устройств: смартфоны с Android или iOS, планшеты и компьютеры с операционной системой от Windows, Linux и macOS. Помимо приложений вы можете пользоваться и веб-версией.
Ваш аккаунт будет привязан к номеру вашего мобильного, при входе на новом устройстве на этот номер приходит код в SMS.
Хотите больше безопасности? Включите в настройках двухфакторную аутентификацию, задав ещё и пароль. После этого злоумышленникам будет намного сложнее «угнать» у вас аккаунт, даже если они завладели вашим телефоном.
Материал по теме
Telegram-каналы
Telegram-канал — это что-то вроде чата с односторонней связью. Оставлять сообщения в нём может только владелец или администраторы. Очень похоже на новостную ленту или микроблог — владелец канала публикует посты и фотографии, а его подписчики их просматривают.
В Telegram десятки каналов о маркетинге, науке, технологиях, медицине и истории. Ищите тут полезные лайфхаки, статьи из медиа, локальные сообщества, следите за скидками на авиабилеты или просто подписывайтесь на канал с фотографиями котиков. Или даже без них.
Посты публикуются в хронологическом порядке, каждый канал можно читать отдельно, поэтому лента не засоряется и не перемешивается внезапно, как в некоторых популярных соцсетях.
Также в канале вы можете:
- комментировать посты, если это разрешено владельцем канала;
- выставлять реакции — эмодзи, которые помогают высказать своё мнение без лишних слов.
На каналах нет таргетированной рекламы, хотя одно рекламное объявление вы и можете увидеть, прочитав все сообщения в канале. При этом владелец может публиковать сообщения с рекламой, если считает нужным.
Создать канал в мессенджере может любой желающий. В меню для этого есть специальный пункт.
- Публичными. Они подходят для массовых рассылок, наблюдать за таким каналом может любой пользователь Telegram. Вот, например, канал МТС — подписывайтесь. Мы пишем весело.
- Частными. Они доступны только по приглашению. Такие каналы удобно заводить для связи руководителя с подчинёнными, учителя — с учениками и т. п.
Материал по теме
Группы в Telegram
Групповой чат — это общая переписка между тремя и более пользователями в одном пространстве. В группе могут общаться близкие друзья, родственники, коллеги и так далее.
Здесь можно обмениваться текстовыми и аудиосообщениями, пересылать мультимедийные файлы и документы — как и в обычном чате один на один. Но есть и особые форматы, например, голосование по какому-то вопросу.
Группы, как и каналы в Telegram, могут быть публичными (общедоступными) или приватными. К последним можно присоединиться только по ссылке-приглашению. Чтобы создать групповой чат, нужно открыть главное меню и нажать на пункт «Новая группа». Далее необходимо выбрать из списка контакты, которые будут участвовать в беседе. При желании можно добавить картинку на аватар чата и присвоить название.
Самые важные отличия групп в Telegram от каналов:
- в канале нет никаких ограничений по числу подписчиков, а вот для групп установлен лимит для участников — 200 тысяч;
- в группе всем разрешено отправлять сообщения и файлы в общий чат, а на канале публикации выкладывает только автор сообщества или его администраторы.
Избранное — ваша записная книжка
Найдите в списке ваших контактов, групп и каналов «Избранное». Это особое место: отправляйте в качестве сообщения в «Избранное» всё, что для вас важно: напоминания, рецепты, файлы, ссылки, мысли. Всё это не будет никуда пересылаться, но вы всегда сможете зайти и посмотреть сохранённое.
Веб-интерфейс
Существует веб-версия Telegram, с помощью которой можно общаться, просматривать контент и делать публикации. Чтобы пользоваться веб-версией, нужно:
- перейти по ссылке;
- зайти на сайт по номеру телефона либо отсканировав QR-код камерой телефона.
Интерфейс веб-версии очень похож на мобильное приложение, но возможности уже. Здесь нельзя пользоваться секретными чатами, видеосообщениями и звонками. Но что до текста, то набирать его на клавиатуре ПК точно удобнее. Если вы в офисе и интенсивно используете Telegram для общения с коллегами, веб-версия — прекрасный инструмент.
Лайфхак для веб-версии. Если вам нужно отправить с компьютера какой-то файл себе на телефон, отправьте его через веб-версию себе в «Избранное» (см. предыдущий раздел). После откройте «Избранное» на телефоне и сохраните файл. Так же можно сделать и наоборот, отправив что-то со смартфона на ПК.
Видеозвонки, секретные чаты и другие неочевидные возможности
Telegram постоянно обновляется и обрастает новыми функциями. Мы перечислим главные фишки, которые делают сервис удобным и эффективным.
Видеозвонки
В Telegram можно звонить своим близким и коллегам с использованием видео, как, например, в Skype или WhatsApp. Чтобы осуществить видеозвонок, просто перейдите в чат с человеком, с которым хотите пообщаться, а затем нажмите на правое верхнее меню и выберите «Видеозвонок».
Написать Telegram клиент — легко
Чем отличается Telegram от других популярных мессенджеров? Он — открытый!
Другие мессенджеры тоже имеют API, но почему-то именно телеграм известен как наиболее открытый из самых популярных?
Начнем с того, что у Telegram действительно полностью открытый клиентский
код. К сожалению, мы не видим комиты каждый день прямо на GitHub, но у нас есть код под открытой лицензией. Архитектура Telegram подразумевает, что и Bot и API имеет практически такие же методы — https://core.telegram.org/methods.
На самом деле, Telegram представляет не просто чат-мессенджер, а социальную платформу, доступ к которой открыт для разного рода приложений. Они могут предоставлять дополнительные фишки пользователям, взамен используя готовую сеть пользователей и сервера для доставки сообщений. Звучит настолько привлекательно, что нам захотелось попробовать написать своего «клиента» для Телеграм.
Суть приложения
В основном мы занимаемся картами и навигацией, поэтому мы сразу смотрели что-нибудь связанные с геолокацией. Мне очень понравилось, что в Telegram, раньше всех остальных приложений, появился удобный способ делится местоположением в реальном времени (https://telegram.org/blog/live-locations) и я достаточно часто этим пользуюсь: помочь сориентироваться другу, показать дорогу и самое главное ответить на главный вопрос «Когда ты будешь?». В принципе, этого хватает большинству людей, но как всегда есть сценарии, когда простых возможностей не хватает. Например, это может быть группа более 10 человек, с разными устройствами (некоторые устройства возможно не являются телефонами) и разными людьми. Этим людям было бы удобно обмениваться сообщениями в группе, а также видеть перемещения друг друга на карте.
Во главу угла мы поставили задачу создать дополнительную ценность для Telegram, а не пытаться использовать его не по назначению. Мы не хотели, чтобы люди у которых нет специального клиента Телеграм, видели в чате месиво сообщений или что-то невразумительное. У людей с «улучшенным» клиентом, появляются же дополнительные возможности, например:
- Более тонкое управление временем при отправке локации в реальном времени в чат.
- Просмотр местоположения контактов на карте.
- Подключение к чату маячковых устройств, через внешний API (Bot).
Как мы это делали
К счастью, весь код, который мы пишем — Open-Source, поэтому я сразу могу дать ссылку на его реализацию — Реализация Bot и Реализация Telegram Client на Kotlin.
Bot — основы
По реализации Bot существует достаточно много документации и примеров, но все же хочется пройтись и рассказать про некоторые подводные камни. Для начала, мы писали серверную часть
на Java и выбрали библиотеку org.telegram:telegrambots. Так как наш сервер — это обычный SpringBoot, то инициализация крайне простая:
// Gradle implementation "org.telegram:telegrambots:3.6" TelegramBotsApi telegramBotsApi = new TelegramBotsApi(); telegramBotsApi.registerBot(new TelegramLongPollingBot() );
Основная особенность передачи location, что его надо часто обновлять, и боту необходимо редактировать уже отправленные сообщения. Если бы не было такой возможности, то Bot бы просто заспамил чат и это, конечно, был бы Epic Fail. Слава богу, Telegram предоставляет права боту редактировать сообщения на протяжении 24 часов (минимум, возможно и дольше).
Передать сообщение можно многими способами. Есть тип Plain Text, Venue, Location, Game, Contact, Invoice и т.д. Казалось, что для нашей задачи отлично подходит Location, но вскрылась неприятная особенность. Location можно передать только с одного устройства для одного аккаунта или бота одновременно! Представьте у вас 2 телефона и с двух телефонов вы отправили свой Location в один чат. Так вот, на сервере случится ошибка и первый Location Sharing просто остановится. Казалось бы, это явно неральный случай, но представьте, у вас много китайских маячков, которые умеют отправлять Location по заданному URL, но они не умеют отправлять прямо в Telegram. Вы пишите Bot, который забирает с сервера и пушит в телеграм. Вот тут и вылазит, то что Bot не сможет отправить больше одного сообщения маячка с типом Location. Получается, это отлично подходит для единоразовой отправки, но не подходит для Live Location.
Решение простое — отправлять текстовые сообщения, а клиент будет парсить текст и показывать локации на карте. К сожалению в стандартном клиенте Telegram будут видны только текстовые сообщения, но там можно вставить ссылку, чтобы открыть карту.
Bot — Подводные камни
К сожалению, Bot пришлось переписывать аж 2.5 раза. Основная проблема — неправильный дизайн коммуникации.
- Почему-то вначале казалось хорошей идеей, если бот будет полноценным участником чата и отправлять сообщения. Но, это плохо и с точки зрения Privacy переписки и с точки зрения взаимодействия с ботом. Правильное решение, использовать Inline bots. Таким образом, гарантируется, что бот не видит ничего кроме своего Location и его можно использовать в любом чате. По-человечески говоря, некультурно тащить своего бота в какой-то общий чат, а нужно пообщаться с ботом один на один и настроить его, а дальше он сможет отправлять нужные сообщения в любой выбранный чат.
- В Telegram Message API есть исторически 2 типа взаимодействия: кнопки под текстом ( (inline buttons)[https://core.telegram.org/bots/2-0-intro#switch-to-inline-buttons] ) и ответы боту напрямую текстом. В общем, ответы с ботом безнадежно устарели. Кнопки немного сложнее с точки зрения реализации, но это полностью окупается удобством использования и именно их надо использовать для всего нетекстового ввода.
- В качестве примера бота можно посмотреть популярный @vote_bot или наш @osmand_bot.
Telegram Client
Найти примеры готовых telegram client, кроме основного, нам не удалось, но достаточно простая структура tdlib помогла нам создать базовый клиент буквально за пару дней.
Настройка Gradle:
task downloadTdLibzip < doLast < ant.get(src: 'https://core.telegram.org/tdlib/tdlib.zip', dest: 'tdlib.zip', skipexisting: 'true') ant.unzip(src: 'tdlib.zip', dest: 'tdlib/') >> task copyNativeLibs(type: Copy) < dependsOn downloadTdLibzip from "tdlib/libtd/src/main/libs" into "libs" >task copyJavaSources(type: Copy) < dependsOn downloadTdLibzip from "tdlib/libtd/src/main/java/org/drinkless/td" into "src/org/drinkless/td" >dependencies
Практически все внутренности Телеграмма написаны на С++ и с точки зрения Android виден только класс API на 1.5 Мб прокси методов TdApi.java. Путем сопоставления документации ботов и названия методов, можно достаточно просто сориентироваться куда двигаться.
Инициализация клиента с global handler:
fun init(): Boolean < return if (libraryLoaded) < // create client client = Client.create(UpdatesHandler(), null, null) true >else < false >>
Запрос фото пользователя:
private fun requestUserPhoto(user: TdApi.User) < val remotePhoto = user.profilePhoto?.small?.remote if (remotePhoto != null && remotePhoto.id.isNotEmpty()) < downloadUserFilesMap[remotePhoto.id] = user client. send(TdApi.GetRemoteFile(remotePhoto.id, null)) < obj ->when (obj.constructor) < TdApi.Error.CONSTRUCTOR -> < val error = obj as TdApi.Error val code = error.code if (code != IGNORED_ERROR_CODE) < listener?.onTelegramError(code, error.message) >> TdApi.File.CONSTRUCTOR -> < val file = obj as TdApi.File client. send(TdApi.DownloadFile(file.id, 10), defaultHandler) >else -> listener?.onTelegramError(-1, "Receive wrong response from TDLib: $obj") > > > >
Telegram Client — подводные камни
- Регистрация/Login и Logout. При регистрации необходимо учесть разные сценарии: когда код доступа присылается SMS или в другой телеграм клиент, двухфакторную авторизацию и т.п. Самая большая сложность — это тестирование. Любая авторизация более 3-х раз вела к блокировке аккаунта на 24 часа, поэтому тестировать Logout было особенно весело. Несмотря на то, что регистрация нужна всего лишь один раз, наверное это самая сложная часть интеграции.
- Определить как и в каком порядке вычитывать сообщения. Любой клиент имеет доступ ко всем сообщениям во всех чатах, но вычитывать их надо последовательно. В нашем случае 99% сообщений нужно отбрасывать. Сначала мы почему-то сделали чтение всех сообщений за последние 3 дня при логине, но в дальнейшем это только вызвало проблемы и при рестарте у нас пропадали сообщения. Поэтому сейчас мы читаем только новые сообщения, а для тех сообщений, что нам нужны сохраняем id во внутренней БД.
Что получилось
Наверное, зная все подводные камни можно было бы все сделать в разы быстрее, но получилось где-то 1-2 месяца на трех человек. Финальное приложение можно найти в Google Play.

Главный вопрос в этой истории, насколько правильно это взаимодействие с точки зрения Телеграма и понравятся ли пользователям такого рода интеграции. В любом случае, сама идея нишевая и отдельных клиентов она уже нашла.
Буду рад ответить на ваши вопросы.
- telegram api
- telegram
- osmand
- android development
- telegram bot
Как создать свой мессенджер: ответы на популярные вопросы

Что нас всех объединяет? Ответов на этот философский вопрос много, но мы, продуктовая команда из сердца Сибири, сразу думаем про мобильные приложения и отвечаем так: у каждого из нас есть хотя бы один мессенджер на телефоне. Сегодня это часть повседневных будней —мы используем чаты не только для общения с семьей и друзьями, но и для того, чтобы читать новости, скидывать мемы в группы и даже записываться на стрижку с помощью чат-бота. Мы регулярно получаем много вопросов о том, к ак создать свой мессенджер , поэтому решили завернуть весь накопленный опыт в статью — что ж, делимся!
Если вы сомневаетесь нужно в ли ступать на территорию разработки мессенджеров, просто взгляните на последние цифры. В 2021 году приложением Facebook Messenger пользуются 1,3 миллиарда человек во всем мире, а WhatsApp есть на телефоне у 2 миллиардов пользователей (¼ часть населения земли, на секунду).
Хорошая новость заключается в том, что у большинства установлено сразу несколько приложений, поэтому все перечисленные компании не конкурируют между собой, а дополняют друг друга. Например, WeChat популярен в основном в азиатских странах, а Slack используют 12 миллионов человек для коммуникации внутри компаний. Аналитики ожидают, что количество активных пользователей будет только расти, а рынок приложений для обмена сообщениями будет цвести и пахнуть.
В этой статье мы подробно расскажем о том, как разработать и монетизировать приложение для обмена сообщениями. Тех, кто дочитает до конца, ждет сюрприз — бесплатный расчет стоимости приложения.
Ключевые функции мессенджеров
Давайте сразу к делу — существует список функций, которые нельзя игнорировать при разработке мессенджера . В Purrweb мы считаем, что приложение должно быть, в первую очередь, удобным для пользователя, учитывать боли и запросы клиентов. Поэтому мы всегда советуем начать с командного мозгового штурма — это поможет определить нишу, целевую аудиторию, а также выбрать то, что будет отличать вас от конкурентов. После это можно думать, как создать свой мессенджер , и выбирать, какие функции нужны вашему приложению. Основываясь на нашем опыте, мы составили 2 списка — must-have и nice-to have функций — для по-настоящему классного приложения-мессенджера.
READ MORE User Story Mapping и не только: методы отбора функций для MVP
Must-have функции
Авторизация
Для пользователя регистрация не должна занимать больше, чем две минуты. Чтобы ускорить процесс, мы рекомендуем добавить интеграции с социальными сетями, регистрацию по номеру телефона или адресу электронной почты. После этого юзеры смогут выбрать фотографию профиля и имя. В некоторых приложениях, например, в Telegram, есть дополнительная функция, которая скрывает номер телефона от других, также в мессенджере можно создавать сразу несколько профилей. Например, рабочий и личный, или российский и заграничный, если вы живете на две страны.
Доступ к контактам
Эта функция значительно упрощает процесс авторизации, поскольку пользователь может зарегистрироваться, синхронизировать свои контакты и сразу отправить кому-нибудь сообщение, а не проходить через семь кругов ада, специально сохраняя каждый нужный ему номер в мессенджере.

Обмен сообщениями
Эта функция — сердечная мышца вашего приложения. Для того, чтобы пользователи успешно общались в чате, вам будут нужны следующие элементы: приватные и групповые чаты, отправка и отмена сообщения, статус доставки, история чата и функцию редактирования текста.
Если вы хотите создать приложение-мессенджер , то подумайте над тем, чтобы добавить голосовые и видеосообщения. Мы знаем, что количество элементов может испугать. Как их всех расположить, чтобы страница не выглядела перегруженной? Вам на помощь придет опытный UX-дизайнер, который спроектирует по-настоящему удобный интерфейс.

Обмен файлами
Возможность обмена медиафайлами — еще одна причина, почему люди будут регулярно обращаться к вашему сервису. Разрешите им отправлять друг другу фотографии, видео, гифки и документы, и тогда многие будут использовать чаты в качестве облачного хранилища (да-да, мы все искали когда-нибудь фотографию карты или паспорта в переписках).
Push-уведомления
Как создать свой мессенджер без функции уведомлений? Это невозможно! В эпоху, когда мы так боимся пропустить что-то важное, пользователи обязаны немедленно знать, что они получили новое сообщение. Наверняка, каждый из нас хоть раз сходил с ума, ожидая обратную связь от потенциального работодателя — не нам вас убеждать в том, насколько важны push-уведомления в чатах
Защита данных
Для любого общения — по работе или личного — важна конфиденциальность. Данные пользователей обычно хранятся на серверах, которые принадлежат приложениям, а сообщения шифруются и передаются между устройствами с использованием разных протоколов связи. Напишите нам, и мы расскажем больше технологиях безопасности данных.
READ MORE Давай упрощай: как с помощью дизайна привлечь новичков в сложный мир инвестиций. Кейс Purrweb
Nice-to-have функции
Звонки
Современные чат-приложения — это гораздо больше, чем просто обмен текстами и смайликами. Если хотите сделать не просто мессенджер, а настоящую вселенную для общения, вам следует подумать о добавлении голосовых и видеозвонков. Может быть, это не так уж необходимо на первом этапе разработки мессенджера , но как только появятся ресурсы, хорошо бы подумать о расширении функциональности и внедрении фичи со звонками.
Чат-боты
Эта функция привлечет бизнес-клиентов в ваше приложение-чат. Не пугайтесь слова «Боты». Чат-бот — это всего лишь автоматическое программное обеспечение, которое поддерживает онлайн-связь с клиентами, отправляет автоматические сообщения и помогает с ответами на часто задаваемые вопросы. Они также могут позвать человека, если вопрос пользователя пришелся роботу «не по зубам».

Как создать свой мессенджер, который принесет прибыль?
Вопрос о стратегиях монетизации неизбежно возникает у всех, кто хочет разработать приложение для обмена сообщениями . Вы спросите: «Мессенджеры вообще зарабатывают?!» Короткий ответ – да.
Вот несколько стратегий монетизации для подобной бизнес-идеи:
- Реклама в приложении;
- Технология переадресации звонков. Например, звонит вам кто-то из-за границы — звонок не идет через оператора, а переносится в Viber, который получает за это деньги;
- Брендированные стикеры, созданные в коллаборации с брендами;
- Пожертвования от пользователей. Да, это тоже вариант, и именно так живет и здравствует Telegram);
Как найти надежного разработчика?
Проверить команду разработчиков «на прочность» можно в два шага:
Во-первых, просто погуглите название компании. Кто-то скажет: «Пфф, банально» , но поверьте, даже самый быстрый поиск в Google даст какое-никакое представление о ценностях команды – совпадаете ли вы по взглядам, получится ли у вас делать что-то вместе. Во-вторых, сходите на профессиональные площадки – Dribbble и Behance — и изучите дизайн-портфолио ваших потенциальных подрядчиков. За отзывами клиентов можно отправиться в Clutch и UpWork. Ну и не забудьте про сайт компании — например, мы размещаем отзывы клиентов на главной странице , а результатами работ делимся во вкладке «Проекты» .
Помимо этого, для стартапа важно соблюдать бюджет и сроки. Поэтому мы искренне советуем выбрать того, кто разрабатывает приложения на React Native. Почему? Сейчас объясним.
React Native — это фреймворк, который был создан Facebook 5 лет назад. Код приложений пишется на JavaScript – одном из самых популярных языков программирования во всем мире. Есть 3 основных преимущества работы с компанией, которая работает на React Native.
JavaScript. Этот язык — один из самых распространенных среди разработчиков, поэтому вы сможете найти подрядчика для разработки вашего приложения быстро и безболезненно.
Единая общая кодовая база. При разработке двух отдельных версий приложения для Android и iOS код в них будет совпадать примерно на 65-70%. Что это значит для вашего бизнеса? Во-первых, это значительно сокращает время разработки (примерно в 2 раза). Во-вторых, не нужно нанимать и платить (!) двум отдельным командам — это осталось в прошлом. Не нужно будет думать, как создать мессенджер на iOS ? Как создать мессенджер на Android ? Кто за это возьмется? Достаточно будет найти ту самую команду, которая работает с фреймворком React Native.
Нативные UI-элементы. Компании Facebook принадлежат бесконечные библиотеки нативных UI-элементов для интерфейса. Как это поможет вашей бизнес-идее? Очень просто — это означает, что ваше будущее приложение функционировать как нативное. Производительность мессенджера будет такой же, как если бы вы разработали его на Java или Swift.
Мы работаем с React Native последние 4 года и еще ни разу не разочаровались. Фреймворк позволяет нам создавать MVP (минимально-жизнеспособный продукт)для наших клиентов за 3 месяца. Это означает, что вы придете к нам с идеей, и через 90 дней у вас будет рабочая версия продукта, которую можно тестировать, собирать обратную связь и показывать потенциальным инвесторам.
READ MORE Как защитить идею стартапа: чек-лист от Purrweb
Сколько стоит создать приложение-мессенджер?
Вот мы и дошли до самой важной части статьи — той, которая про стоимость и сроки. Разработка мессенджера – сложный процесс, в котором участвует команда разработчиков, дизайнеров, проектных менеджеров и QA-специалистов. Выбросить кого-то из команды и при этом сделать крутой продукт нельзя
Мы предлагаем полный цикл разработки приложения на React Native — включая UI / UX дизайн, API, услуги разработки Frontend и тестирование — и все, что нужно, чтобы ваше приложение попало в топ AppStore и Google Play. Наша философия – быть максимально открытыми и прозрачными для клиентов, поэтому мы предпочитаем обсуждать вопросы сроков и стоимости на берегу. Кроме того, в историях с разработкой мессенджеров , мы отдельно обсуждаем безопасность данных, протоколы шифрования и соединение с серверами. В это время наши дизайнеры смогут углубиться в изучение ЦА приложения, спроектируют логику будущего сервиса, продумают визуальную составляющую.
Мы подробно рассказали о том, как создать свой мессенджер и как его можно монетизировать. Теперь давайте посчитаем, сколько это стоит!

Введите адрес своей электронной почты, чтобы получить разбивку по стоимости со всеми деталями
Спасибо! С вами свяжутся в ближайшее время
Итого
Над разработкой мессенджера, будет работать команда из 6 человек. Если судить по похожим проектам, над которыми мы работали, итоговая стоимость мессенджера вроде Telegram, составляет от $80.000 до $100.000: с готовым прототипом, UI/UX дизайном, iOS и Android версиями, тестированием и менеджментом проекта. Разработка своего мессенджера с Purrweb займет 5 месяцев.
Чтобы создать успешный сервис, используйте нашу пошаговую инструкцию, как разработать приложение для обмена сообщениями . Вот краткое изложение: первым делом нужно провести брейншторм и определиться с нишей, в которую вы планируете зайти. Кого вы хотите привлечь в приложение и зачем? Где будете искать свою аудиторию? Затем сориентируйтесь по ключевым фичам, которые будут необходимы пользователям – можно опираться на наш список must-have и nice-to-have функций.
Самый же быстрый и простой способ узнать подробности — написать нам напрямую и детально обсудить ваш будущий проект. Мы ответим на все ваши вопросы о том, как создать свой мессенджер , поделимся советами и секретами реализации бизнес-идей, проведем за руку и расскажем о процессах и результатах на каждом этапе создания digital-продукта.
Смотрите наше дизайн-портфолио и читайте отзывы клиентов . Мы также всегда на связи в самых популярных мессенджерах – в Telegram и WhatsApp .
Насколько публикация полезна?
Оцени эту статью!
46 оценок, среднее 3.8 из 5.
Оценок пока нет. Поставьте оценку первым.
Так как вы нашли эту публикацию полезной.
Подписывайтесь на нас в соцсетях!
Как создать свой мессенджер: все, что нужно знать

Мессенджеры, безусловно, изменили способ нашего общения. Они дали нам возможность мгновенно передавать сообщения нашим друзьям и родственникам. Популярность таких сервисов, как WhatsApp, Viber, Telegram и других, заставила многих предпринимателей задуматься о том, как создать собственное приложение для обмена сообщениями.
Если вы решили создать такое приложение и запустить стартап, мы подготовили для вас множество полезной информации. Наша команда разработчиков уже создавала мессенджеры, и теперь мы хотим поделиться этим опытом с вами. В этой статье мы рассмотрим обязательные для них функции, а также расскажем, как создается подобный продукт.
Насколько оправдано создание мессенджера?
Если вы хотите сделать собственное приложение таким же успешным, как WhatsApp, вы должны понять, сколько им пользуется людей, сколько времени они там проводят и определить основных конкурентов. Все эти данные могут помочь вам в будущем.
По данным Facebook, обмен сообщениями является частью повседневной жизни для 80% взрослых в возрасте 19-64 лет и 91% подростков в возрасте 13-18 лет. Что касается причин использования мессенджеров, то опрос Software Advice выявил следующие основные факторы, по которым люди выбирают общаться онлайн:
- Мгновенная отправка сообщения
- Удобство
- Сохраняются все отправленные сообщения
- Легко работать в режиме многозадачности
- Можно использовать на работе
Что касается времени, то в среднем пользователи тратят на мессенджеры 2-3 часа в день.
По данным On Device Research, пользователи по всему миру используют как минимум два мессенджера на своих устройствах.
Наконец, вы должны знать о своих конкурентах:

Погрузившись глубже в исследование рынка, вы обнаружите еще сотни приложений, с которыми вам предстоит конкурировать. Это означает, что, вам придется приложить немало усилий чтобы выделиться и завоевать внимание пользователей. Тем не менее, рынок всегда дает шанс интересным продуктам.
Разработка мессенджера: функциональность
Чтобы понять, как сделать такое приложение, необходимо определиться, какие функции вы в него вложите. Функциональность и встроенный контент (например, стикеры) являются самыми мощными мотиваторами для любого пользователя.
Мы отобрали самые востребованные функции и разделили их на две категории: основные и дополнительные. Таким образом, вы сможете создать MVP, то есть минимально жизнеспособную версию приложения, а затем дополнить ее другими функциями по мере развития.
А если у вас уже есть идея для подобного приложения, пишите нам. Заполните эту форму и мы свяжемся с вами в самое ближайшее время. Лайв Тайпинг проконсультирует вас по всем вопросам, связанным с разработкой мобильных приложений, в том числе и для обмена сообщениями.
Основные функции для мессенджера
Начнем с тех, которые идеально подходят для MVP приложения.
Авторизация
Отвечая на вопрос, как создать мессенджер, лучше начать с самого начала — с авторизации. Как правило, предлагают несколько способов регистрации:
- Номер телефона;
- Электронная почта;
- Аккаунт в социальной сети.
Импорт контактов
Для удобства пользователей все контакты должны импортироваться в мессенджер автоматически. Разработчики могут сделать так, чтобы приложение сканировало все контакты и отправляло их на сервер.
Также неплохо дать пользователям возможность видеть, кто еще из их знакомых пользуется вашим мессенджером и кому они могут написать прямо сейчас. Чтобы реализовать это, создается механизм, сравнивающий контактов пользователя с записями в базе данных приложения.
Доступ к контактам не нужен, если приложение не предусматривает регистрацию по номеру телефона. В этом случае вы можете позволить пользователям искать своих друзей и родственников по различным параметрам, таким как логин, электронная почта и так далее.
Вы также можете поощрять существующих пользователей за рассылку приглашений своим друзьям, как это делает Telegram. Это довольно важная функция, которую необходимо учитывать при создании мессенджера
Мгновенный обмен сообщениями
Без сомнения, это основная функция. Она может быть реализована несколькими способами. Основное различие между ними заключается в методе передачи данных. В первом случае сообщения передаются через сервер, во втором — от пользователя к пользователю.
- Если применить первый метод, сообщения будут храниться непосредственно на сервере. Взаимодействие между им и пользователем будет происходить по протоколу, который защищает ваши данные (HTTPS).
- Второй метод подразумевает шифрование каждого сообщения специальным алгоритмом и его доставку через беспроводную сеть.
Если вы хотите создать приложение с видеозвонками, необходимо выбрать видео- и аудиокодеки которые будут помогать сохранять хорошее качество даже при низкой скорости Интернета. Качество изображения должно меняться по ходу разговора, если соединение нестабильно.
Также следует подумать о способе передачи видео. Это может быть сделано либо через сервер, либо от пользователя к пользователю. Второй вариант подойдет лучше, так как вы не будете перегружать серверы.
Обмен файлами
Хороший мессенджер также должен разрешать пользователям обмениваться своими документами, фотографиями, видео и любым другим контентом. Чтобы сделать приложение с возможностью обмена файлами, разработчики могут использовать специальные API, а также передавать данные на серверы с помощью SOAP и RESTful API. Эта функция должна позволит делать следующее: отправлять уже существующие файлы (например, фото и видео из галереи) и снимать фото и видео прямо из приложения.
Отслеживание местоположения
Для чего это нужно? Пользователи могут поделиться своим местоположением с друзьями, чтобы найти друг друга или просто показать, где находится магазин, офис, парковка или что-то еще. Например, в Telegram пользователь, которому отправили местоположение, может построить маршрут от текущего до конечного пункта.
Шифрование
В последнее время кражи персональных данных стали происходить довольно часто, именно поэтому надежное шифрование является обязательным атрибутом любого приложения. Если вы хотите создать мессенджер, то должны гарантировать безопасность личных данных пользователей.
Возвращаясь к примеру функций Telegram, можно сказать, что оно имеет два типа шифрования:
- Облачные сообщения. Этот тип является стандартным методом шифрования.
- Секретные чаты. Когда пользователь включает режим секретного чата, приложение шифрует его сообщения сквозным методом. Все сообщения, которые пользователи отправляют друг другу в Секретном чате могут быть расшифрованы только с помощью их смартфонов. Существует еще несколько функций безопасности. Например, запрет на пересылку сообщений кому-либо вне секретного чата, уведомления о том, что вы делаете скриншоты и т.д.
Функции безопасности действительно важны в наше время. Уверяю вас, что каждый человек хочет чувствовать себя в безопасности, используя такую личную вещь, как мессенджер. Вот почему вы должны обеспечить свой продукт множеством функций безопасности и конфиденциальности данных.
Дополнительные возможности для мессенджера
Выше мы уже рассмотрели, как создать мессенджер с базовым набором функций. Теперь погрузимся глубже и рассмотрим несколько дополнительных функций, которые вы можете встроить в свое приложение.
Голосовые и видеозвонки в приложении
Несмотря на то, что основной идеей мессенджеров является отправка текстовых сообщений, большинство пользователей хотели бы общаться с помощью других доступных средств. Есть несколько вариантов, которые вы можете предложить:
- Голосовые звонки и сообщения. Вы можете добавить в свое приложение поддержку голосовой связи. Разрешите пользователям записывать голосовые сообщения или звонить другим людям в режиме реального времени.
- Видеозвонки и сообщения. То же самое с видео. Добавьте поддержку видеозвонков или сообщений, а лучше и то, и другое.
- Групповые видеозвонки. Эту функцию гораздо сложнее реализовать из-за технических трудностей. Однако, как как показывает практика, пользователи любят эту функцию, и если ваш бюджет позволить ее внедрить — смело делайте это.
Как создать мессенджер с групповым видеочатом? Во-первых, ваша команда разработчиков должна выбрать подходящие кодеки. Кроме того, они должны продумать, как собирать видеопотоки и распределять их между всеми участниками. Обратите внимание, что каждый из X участников чата передает Y байт в секунду. Если сервер будет передавать видео- и аудиопотоки для каждого участника и от каждого участника, канал может быстро выйти из строя. Кроме того, пользователи, участвующие в этом групповом видеочате, будут расходовать много интернет-трафика. Потоковые функции довольно сложны, поэтому их реализация может занять много времени.
Каналы
WhatsApp, Viber, Telegram и многие другие популярные мессенджеры позволяют своим пользователям создавать различные сообщества внутри мессенджера. Это делается для того, чтобы привлечь единомышленников для обсуждения общих тем или просто узнавать последние новости.
Исчезающие сообщения
Назначение этой функции понятно из ее названия. Практика Snapchat показывает, что исчезающие сообщения и медиафайлы очень популярны. Решение сделать приложение с этой функцией даст пользователям больше контроля над своими личными данными и, в свою очередь, расширит возможности конфиденциальности.
Что еще нужно для создания мессенджера?
Мы уже рассмотрели основные и дополнительные функции, которые можно использовать для создания приложения. Однако, есть еще две вещи, необходимые для создания успешного мессенджера: доступность на основных платформах и синхронизация с облаком.
Доступность на различных платформах
Возможность использования приложений на различных операционных системах открывает широкие возможности для привлечения новых клиентов. Если вы хотите создать свой мессенджер, вам следует подумать не только о приложении для iOS и Android, но и о создании веб-версии. Все популярные мессенджеры, такие как Telegram, Viber, WhatsApp и Facebook, имеют веб-версию.
Облачная синхронизация
Эта функция позволяет синхронизировать записи чата, включая текстовые сообщения и медиафайлы. Она может стать вашим преимуществом перед такими конкурентами, как Viber и WhatsApp. Последний, по крайней мере предоставляет возможность синхронизации с помощью Google Drive и iCloud, в то время как у Viber ее нет вообще. Поэтому добавить возможность синхронизации с облаком будет хорошей идеей, поскольку это позволяет пользователю более комфортно использовать ваше приложение.
Давайте подведем итоги по списку функций.
Для создания мессенджера вам понадобятся следующие основные функции:
- Авторизация;
- Импорт контактов;
- Мгновенный обмен сообщениями;
- Обмен файлами;
- Отслеживание местоположения;
- Надежное шифрование.
Если вы хотите с самого начала наполнить приложение множеством функций, то можете рассмотреть следующие варианты:
- Голосовые и видеозвонки внутри приложения;
- Голосовые и видеосообщения;
- Групповой видеочат;
- Каналы/группы;
- Исчезающие сообщения;
- Облачная синхронизация;
- Присутствие на нескольких платформах;
- Чат-боты;
- Возможность создания стикеров;
- Отложенная отправка сообщений.
Как монетизировать приложение?
Конечно, если вы создаете собственное приложение, вам следует подумать о том, как его монетизировать, чтобы сохранить свою компанию и предложить пользователям новые возможности в будущем.
Например, WhatsApp изначально использовал модель подписки. Пользователям выставлялся счет на 1 доллар в год. Позже компания отказалась от этой модели и переключилась на построение коммуникаций между пользователями и предприятиями/организациями, от которых они хотят получать информацию.
Ниже мы привели несколько способов монетизации вашего собственного приложения для обмена сообщениями:
- Реклама. Главное правило для этого способа — не перегружать приложение рекламой. Пользователи должны чувствовать себя комфортно. Реклама не должна быть слишком назойливой и занимать много места на экране.
- Покупки внутри приложения. Вы можете получать прибыль, предоставляя пользователям возможность покупать дополнительный контент, например, пакеты стикеров, темы, игры, и т.д.
- Подписка. Пользователи с подпиской смогут получить доступ к премиум-функциям, такие как звонки в приложении, звонки на обычные телефонные номера (например, Viber Out), отключение рекламы и т.д.
Помните, что подписка – это выбор для компаний с большой пользовательской базой. Поэтому недавно выпущенному приложению будет крайне сложно конкурировать с десятками других крупных игроков на рынке, которые распространяются бесплатно.
Сколько времени потребуется для создания собственного приложения?
Вид работы
Время на разработку (часы)
Максимальное время на разработку (часы)