Кейс из России: Как «2ГИС» увеличил интенсивность использования iOS-приложения с помощью функции определителя номера

Руководитель отдела мобильных приложений »2ГИС» Кирилл Казаков поделился с редакцией рубрики «Кейсы» своим опытом разработки определителя звонков для iOS-версии сервиса.

00c4470456dc13.jpg

Чтобы заставить пользователей чаще открывать приложение, разработчики обычно отправляют push-уведомления, придумывают акции, бонусные программы и ещё много всего. Мы старается не быть назойливыми и не злоупотреблять вниманием аудитории.

Вместо этого анализируем её потребности и добавляем новые сценарии использования, чтобы »2ГИС» оставался полезным и удобным. По такому же принципу придумали и разработали определитель звонков для iOS-версии »2ГИС».

Подключить определитель могут пользователи »2ГИС» на iOS 10. Нужно зайти в «Настройки» → «Телефон» → «Блок и идентификация вызова», переключить тумблер напротив »2ГИС» и запустить приложение. Не самый простой путь во времена двух кликов. Зато фича получилась довольно дешёвой в производстве и нашла свою аудиторию.

С чего начали

В разных городах »2ГИС» содержит справочную информацию не менее чем о 95% всех компаний, включая их номера телефонов. Для пользователей Android на основе наших данных уже третий год работает приложение 2GIS Dialer, которое определяет, из какой компании вам звонят. А вот поделиться данными с пользователями iOS мы до недавнего времени не могли.

Раньше нельзя было сделать «звонилку» для iPhone, потому что Apple официально не давала доступ к своему API. Политика Apple такова: вы не можете использовать устройство или данные пользователя (микрофон, камеру, фотоальбом) до тех пор, пока он вам этого не разрешит. Входящие звонки тем более лежат в зоне приватности, поэтому ни одно приложение не имеет права получать информацию о том, кто звонит пользователю. Вообще-то логично.

В июле 2016 года мы ездили на очередную конференцию Apple для разработчиков — WWDC. На ней вскользь упомянули, что в iOS 10 сделали некий Callkit, который позволяет приложениям типа WhatsApp и Skype получить нативный интерфейс звонка: полноценный экран с кнопками и доступом к хэндлерам (раньше выпадал только нотификейшн о том, что в этом приложении поступает звонок). И, видимо, под шумок с этим API инженеры дали возможность сделать определитель звонка.

Что увидели

Callkit оказался простым в реализации только на словах. Во-первых, фича очень сырая: она почти не документирована и, судя по всему, находится в стадии беты. Во-вторых, ограниченность функциональности.

Всё, что Apple даёт сделать, — это сообщить пользователю набор телефонов, который у нас имеется, и ID абонентов. Данные должны быть записаны в базу телефона. В-третьих, определитель нельзя включить прямо из приложения, только из настроек девайса.

Нас всё это не остановило. Мы были полны решимости первыми среди крупных компаний добавить этот сценарий в продукт и дать пользователям базу актуальных телефонных номеров.

Как решали

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

В процессе написания и тестирования выяснилось, что максимальный размер базы для одного расширения ограничена 1 999 999 номерами. В то время, как у нас по всем городам России собрано более 4 миллионов номеров.

Правда, пользователю и не нужны все известные нам номера. Ему нужны телефоны только там, где он живёт или часто бывает. А карты этих городов, скорее всего, уже установлены у него в приложении. В итоге решили сегментировать базу по городам.

Всё это, конечно, цветочки по сравнению с тем, что фичу невозможно включить из приложения. А мы этого очень хотели — настолько, что написали фичереквест и тестовое приложение, заапрувили его, предложили несколько вариантов решения, написали в саппорт, но… из Apple нам так и не ответили. Судя по всему, они просто не собираются поддерживать эту фичу или она имеет самый низкий приоритет.

Что имеем

Даже несмотря на то что нельзя включить определитель из приложения, мы получили отличный фидбэк от аудитории. Сейчас звонилка работает примерно у 26 тысяч пользователей »2ГИС» на iOS при том, что мы не делали фичеринг и не рассказывали о новой функции в продукте. Это хороший пример фичи, которой пользуется небольшая аудитория, но именно они — самая активная её часть и ядро продукта.

Определитель номера установлен у 26 336 пользователей. График показывает, сколько из них запускали »2ГИС» в конкретный день. Статистика Google Analytics от 15 февраля 2017 года.

Этот опыт лишний раз показал, что наш подход работает. Совсем не обязательно заваливать пользователей надоедливыми push-уведомлениями, делать еженедельные email-рассылки и обещать несбыточное, чтобы ваше приложение полюбили.

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

Статьи по теме

©  vc.ru