Изображение приложения App Store

Приложение
«СТС-телеканал»

www.ctc.ru Дата релиза: 20 декабря 2017 года

Приложение «СТС-Телеканал — сериалы онлайн» — это
возможность смотреть все фильмы, шоу, мультфильмы и сериалы
телеканала СТС на смартфоне.

С помощью приложения пользователь всегда в курсе актуальных
новостей популярных проектов, узнает больше о жизни любимых
героев и актеров, одним из первых смотрит эксклюзивные
материалы со съемок лучших шоу и сериалов. Приложение
позволяет просматривать актуальную телепрограмму, смотреть
«живой» прямой эфир с технологией «Второй экран»
и обеспечивает онлайн-просмотр проектов телеканала СТС.

Изображение приложения App Store Изображение приложения Google Play Market
Изображение телефона с приложением

Задача

Заказчик пришел к нам с проблемой, как объединить два
медийных приложения: «СТС-телеканал»
и «СТС. Второй экран» в одно.

При объединении приложений задача состояла в том, чтобы
не потерять основной функционал этих приложений, решить
проблемы пользователей при работе
с текущими приложениями и реализовать новую концепцию
«единого» приложения.

Изображение телефона с приложением

Что было

Приложение СТС-Телеканал помогает пользователям найти
нужный проект телеканала СТС
и посмотреть его в любое время.

Приложение СТС Второй экран —
это приложение-компаньон. Пользователь смотрит
телеканал совместно с приложением, в главную ленту
приложения получает уникальный контент проекта.

Человек с планшетом

Проблемы

Вопросы, которые нам предстояло решить:

  • Как правильно произвести слияние двух приложений;
    какую из функциональностей поставить на первое
    место?
  • Как рассказать пользователю о работе функции второго
    экрана;
  • Как пользователь поймет, что уникальный контент
    загрузился в интерактивную ленту?
  • Где и как пользователь может найти дополнительную
    информацию по проекту;
  • Как пользователь сможет посмотреть прямой эфир
    телеканала СТС, если находится далеко от телевизора?
Изображение телевизора с приложением

Решения

Исследования и поиск решения

После изучения рынка, приложений аналогов
и маркетинговых исследований пользователей было принято
решение, что главным экраном приложения будет
интерактивная лента.

Мы дали возможность пользователю
самостоятельно управлять
синхронизацией мобильного
приложения и телеэфира.

При успешной синхронизации в интерактивную ленту
мобильного приложения подгружается уникальный контент
по проекту, который идет в эфире.

Изображение телефона с приложением

Структура каталога для комфорта пользователя

Все проекты делятся на категории: сериалы, фильмы,
мультфильмы и т. д. Отдельно вынесены новые проекты,
которые также поделены на категории. Для быстрого поиска
контента был создан удобный поиск и экран со всеми
проекта, структуризированный по алфавиту.

Изображение телефона с приложением
Изображение телефона с приложением Изображение телефона с приложением

Технологии

Подбирая основу архитектуры как для Android, так и для IOS,
важно было учитывать, что приложение «СТС-телеканал»
имеет обширный функционал: несколько внешних API,
множество подключаемых модулей и местами достаточно
сложную логику работы компонентов.

Архитектура и технологии приложения для Android

С учетом особенности функционала приложения,
архитектура базируется на android clean architecture.
Использование clean architecture позволяет абстрагировать
UI от данных и логики их получения.

Приложение разбито на 3 модуля: App; Domain; Data:

  • App модуль отвечает за UI. Он основан на принципах
    MVP (Model-View-Presenter) и Dependency Injection.
    Для каждого экрана/view элемента имеется свой
    presenter, реализующий логику получения и обработки
    данных. View и presenter взаимодействуют через
    интерфейсы, описанные в классе-контракте. С помощью
    Dagger 2 в presenter передаются все необходимые
    для его работы зависимости.
  • Domain модуль — это модуль абстракций. Он хранит
    в себе все модели и сущности, используемые в проекте,
    описывает интерфейсы репозиториев и UseCase’ы.
    UseCase — это посредник между UI и data. Он описывает
    какой-либо пользовательский сценарий. Dagger 2 здесь
    используется с целью предоставления необходимых
    зависимостей (репозиториев) в UseCase для выполнения
    сценария.
  • Data модуль отвечает за получение и хранение данных.
    В нем хранится описание REST API методов, работа
    с сетью, создание базы данных, описание таблиц
    и реализация репозиториев, описанных в domain.

Используемые библиотеки

  • 1
    Базовые: Dagger2 (dependency injection), Rxjava,
    RxAndroid (многопоточность), AndroidAnnotation,
    javaxAnnotation, javaxInject, Gson (сериализация), Retrofit
    (работа с сетью), Okhttp (работа с сетью), Requery (БД).
  • 2
    Интерфейс: SupportDesign (UI), Glide (загрузка
    и хранение изображений), ButterKnife (UI).
  • 3
    Аналитика: Fabric, Crashlytics (статистика по крашам),
    Google Analytics, Flurry.
  • 4
    Реклама: AdSdk (реклама в приложении), Yandex
    MobileAds (рекламный SDK adfox).
  • 5
    Аудио-видео: ExoPlayer (плеер), AudioHybridSearchLib
    (синхронизация с эфиром).
  • 6
    Другие: asne (социальные сети), Gсm
    (push-уведомления), Android Billing (встроенная оплата).
Изображение телефона с приложением

Архитектура и технологии приложения для IOS

Учитывая особенности функционала было принято решение
базовую часть приложения построить на принципах
сервис-ориентированной архитектуры. Вся основная
функциональность приложения разбита на отдельные
сервисы, такие как:

  • HTTP Client — работа с доступными Videomore API, CTC
    API и кэширование данных,
  • Listener — сервис синхронизации с эфиром,
  • Purchase Service — сервис работы с покупками,
  • Statistic Service — сервис сбора статистики,
  • Router — сервис навигации пользовательского интерфейса и пр.

На более низком уровне находятся простейшие компоненты
для работы с данными и инфраструктурой операционной
системы. Так, например:

  • KeychainWraper используется для сохранения данных
    в keychain устройства,
  • A компонент для работы с кэшем используется разными
    сервисами для кэширования данных.

Самым верхним слоем является слой представления. К нему
относятся все экраны приложения, отдельные кнопки
и остальные элементы интерфейса, все то, что видит
пользователь. В свою очередь на этом уровне используется
разделение модулей на следующие компоненты:

  • Controller — отображение данных и обработка
    пользовательского ввода,
  • ViewModel — бизнес-логика модуля и подготовка данных
    для контроллера,
  • ContentService — загрузка данных.
Счастливая семья пользователей

Результат

После объединения приложений
время нахождения пользователя
в приложении выросло в 2,5 раза,
также значительно увеличилось количество
видеопросмотров на каждого пользователя.

Центр Высоких Технологий предлагает:
Услуги по поддержке, сопровождению и продвижению сайта, которые включают в себя:
  • Работу с контентом
  • Дизайн
  • Техническую поддержку
  • Аналитику
Если у вас возникли какие-либо вопросы, предложения, либо вы желаете оформить заявку на заказ какой-либо услуги, заполните форму и отправьте нам сообщение.
Отправить заявку
Отправить заявку
Информационные системы и технологии, Создание сайтов, Разработка мобильных приложений, Разработка приложений для SMART-TV, Веб-дизайн, Тестирование Центр Высоких Технологий
Удмуртская Республика, г. Ижевск, ул. Карла Маркса, д. 246, 1 этаж
Координаты: 56.853259, 53.205197
Телефон: 93-88-61 43-29-29
Электронная почта:
Мы работаем с 8:00 до 17:00, сб., вс. — выходные дни