Site icon AppTractor

Всеволод Биллевич (Aviasales) о фирменном SDK

На прошлой неделе у Артемия Лебедева вышло мобильное приложение «Тревел — Артемий Лебедев и его путевые заметки». В нем собраны все материалы из путешествий Темы (ну какой еще гид начнет рассказ о городе фразой «В Рязани видно, что все деньги украдены»), а построено оно на базе SDK Aviasales и это, пожалуй, самый яркий пример того, как продукт может быть адаптирован под партнерский контент.

Мы поговорили с Всеволодом Биллевичем, который курировал разработку с самого начала, и попросили рассказать о том, что такое SDK Aviasales и как с ним лучше работать.

Как вы пришли к идее выпустить SDK? Почему SDK, а не API?

Партнерский API существует у нас уже давно. Но вряд ли кто-то возьмется разрабатывать iOS приложение, имея в распоряжении только API. Все-таки трудозатраты на такое приложение слишком велики. Поэтому мы решили не ждать, когда нас об этом попросят, а сделать такой инструмент, с помощью которого можно было бы легко внедрить поисковую форму в существующие приложения, либо создать приложение по поиску авиабилетов с нуля.

Для каких платформ сейчас он реализован?

Сейчас есть SDK есть только для iOS. Разрабатываем для Android, запуск планируется к лету. Для Windows Phone доступен только партнерский API.

Какие функции у него есть?

SDK включает в себя статическую библиотеку, которая берет на себя всю работу по взаимодействию с сервером Aviasales. Она умеет отправлять поисковые запросы, получать и парсить ответы, предоставлять их в удобном для программиста виде. Библиотека также умеет фильтровать полученные билеты по различным параметрам и генерировать ссылку для перехода к покупке.

Шаблонное iPhone-приложение, которое тоже входит в состав SDK, состоит из поисковой формы, экрана ожидания, результатов поиска, фильтров и экрана с подробной информацией о билете. Поисковый модуль может быть встроен в существующее приложение различными способами, например, как модальное окно или как экран в таббаре. Для интерфейса подготовлены локализации на русском и английском. Испанскую локализацию любезно предоставил один из разработчиков, и мы добавили её в проект.

Были ли какие-нибудь сложности при его разработке?

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

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

Сколько приложений сейчас использует ваш SDK?

Сейчас опубликовано около 20 iOSприложений, использующих наш SDK. Однако примерно 15 из них созданы одним нашим партнером, и различаются они, по сути, только локализацией на различные языки.

Насколько просто его интегрировать в свое приложение?

Процесс интеграции я бы не назвал сложным. Сейчас он состоит из 6 пунктов, которые очень подробно описаны в документации к SDK. Хотя, конечно, есть, куда стремиться. В новой версии SDK, над которой мы работаем, действия разработчика по внедрению поискового модуля будут минимизированы до 2-3 шагов. Распространять будущие версии SDK будем, скорее всего, через CocoaPods.

Какие лучшие примеры интеграции?

Лучший пример интеграции сторонними разработчиками — это, несомненно, приложение для Travel.ru. Ребята объединили свой поиск отелей с нашим поиском авиабилетов, и получилось крутое приложение для путешественников. Кроме того, разработчики из CleverPumpkin (они занимаются разработкой мобильных продуктов для Travel.ru) «допилили» наше шаблонное приложение до полноценной поддержки iPhone 6 и iPhone 6+, когда они только стали доступны.

The app was not found in the store. :-(

Другой хороший пример использования SDK Aviasales — приложение с путеводителями Redigo.

The app was not found in the store. :-(

Из более свежих решений — приложение для Артемия Лебедева. В нём, помимо поиска авиабилетов, представлены отчёты Артемия о его поездках.

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

Спасибо, хороших вам полетов!

Exit mobile version