Спасибо!

Запрос на оценку стоимости успешно отправлен.
Наши менеджеры свяжутся с вами в ближайшее время.

Вы также можете почитать наш блог или скачать белую книгу.

Будьте с нами!

Наталья Бринза менеджер проектов

У вас есть бизнес-задача?

У нас есть решение.

Получите консультацию уже сейчас!

Напишите нам

задать вопрос
Введите ваше имя
Введите контакт
Введите сообщение
Наталья Бринза менеджер проектов

Заметки разработчика, или 3 проблемы 5Star Service, о которых мы ещё не говорили

23.05.2016

Когда ты чем-то гордишься, то хочется об этом рассказывать снова и снова. Мы уже писали о нашем проекте 5Star Service в блоге, где затронули маркетинговую сторону (идеи, задачи и решения и т. д.) — тут, конечно, мы всё и всех победили. Приложение получилось уникальным в своем роде, при этом остается универсальным и адаптируется под любой B2C-бизнес. Но в этой статье мы поговорим о технической стороне процесса и приоткроем тайны разработчиков.

Что важно для приложения, которое занимается сбором отзывов? Отвечаем: быстрая работа и отзывчивый, располагающий к взаимодействию интерфейс. Чтобы поставить оценку, пользователь должен оставить собственные данные (номер телефона и оценку) — да уж, не самый «простой» нюанс! Поэтому мы постарались настолько ускорить работу и проработать дизайн, чтобы все прошло мгновенно.

Проблема № 1: Скорость превыше всего

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

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

Вся основная работа 5Star Service выполнятся «в фоне», поэтому пользователю не нужно выжидать — его взаимодействие с приложением осуществляется параллельно, а отделение модуля с сервером от главного потока обеспечило скорость.

Проблема № 2: Дойдет или нет?

Нестабильное подключение к интернету — это не проблема, а условие, с которым нужно мириться. Из-за этого тестовый запуск приложения показал, что некоторые запросы могут не доходить до сервера и, как следствие, часть оценок была просто утеряна. Выход из этой ситуации только один — реализация offline-режима. Если данные на сервере не сохранятся по каким-либо причинам, то они окажутся в локальной базе приложения. Позаботились и о безопасности — шифрование базы данных включено!

Проблема № 3.: А если все-таки не дойдет?

После реализации базы данных и отслеживания неотправленных данных с последующим их сохранением, понадобилось реализовать проверку статуса сети. Для этого был создан механизм, который отслеживал подключение к сети Wi-Fi. Как только устройство подключается к Wi-Fi, производится проверка наличия не отправленных данных в нашей базе данных, которые отправляются на сервер. При успешном сохранении данных осуществляется удаление из локального хранилища. Это все позволило свести к минимуму проблему с утратой данных, вызванную перебоями в работе сети или сервера.

Вместо резюме

Для всех интересующихся указываем интерфейсы и библиотеки, которые использовались при разработке приложения:

  • SQLite для работы с базой данных
  • Retrofit для работы с сетью
  • ResultReceiver для сохранения неотправленных данных в базу данных
  • IntentService для отправки запросов на сервер с использованием Retrofit
  • Fabric.io для отслеживания ошибок в работе приложения.
Cкачайте бесплатную книгу от Artjoker, и прокачайте свой интернет-магазин!
Введите имя
Введите email
Спасибо! Книга отправлена на указанную вами почту. Полезного чтения.
Подпишись и регулярно получай свою порцию полезных статей для развития бизнеса в интернете!
Введите имя
Введите email

Более 18 500 человек уже подписались!

Интересуетесь вопросами развития своего бизнеса в сети?

У нас вы получите все ответы!