Как мы интегрировали Teamlab с Google Drive и увеличили посещаемость в 4 раза
Начало года ознаменовалось для нашей команды множеством нововведений, обещанных еще в конце 2013 года. Самым громким, безусловно, стал релиз бесплатного пакета офисных приложений Teamlab Personal, который даже удостоился публикации на TechCrunch.
На прошлой неделе мы анонсировали интеграцию редакторов Teamlab с Google Drive через приложение в Chrome Store. Если вкратце, то вы теперь сможете работать с документами из Google Диска в редакторах Teamlab.Под катом мы расскажем об этапах реализации, технических сложностях, с которыми мы столкнулись, и конечно же, результатах. Будет несколько абзацев для разработчиков и один для маркетологов. Если читать не хочется, можно сразу установить приложение из Chrome Store и разобраться во всем самостоятельно.
Краткое содержание предыдущих серий В январе мы добавили Teamlab Personal в Chrome Store в качестве ссылки на сайт приложения. По сути никакой практической пользы эта ссылка не имела, однако, нам уж очень хотелось поскорее попасть в заветный Chrome Store. Поэтому мы добавили минимальный вариант, (который чудесным образом набрал более 2000 пользователей), и стали думать, чем расширить его функциональность.Единственное аналогичное решение, которое существует на сегодняшний день — это Zoho, который тоже интегрирован с Google Drive и позволяет редактировать гуглодоки в своих приложениях. Посмотрели мы на это решение, покритиковали и решили сделать свое, только с блэкджеком.
Цели интеграции С технической точки зрения необходимо было реализовать следующее: Интеграция инструментов просмотра и редактирования Teamlab Office в хранилище Google Drive. Предоставление возможностей совместного редактирования в Teamlab Office. Конвертация файлов и создание новых в общепринятом формате Microsoft Office. Использование информации Google аккаунта для авторизации на Teamlab Personal. ! Важной деталью реализации является то, что файлы находятся не у нас, а в хранилище Google Drive. Со стороны Teamlab используются только инструменты редакторов.С пользовательской точки зрения мы предоставляем возможность не выходя из своего привычного G-аккаунта, работать с документами в полнофункциональном редакторе, применять сложное форматирование, не беспокоиться о конвертации форматов, забыть наконец про тяжеловесный Microsoft Office.
Этапы реализации Регистрируемся в консоли разработчика, добавляем проект и получаем ключи для авторизации в приложении. К приложению подключены Drive API и Drive SDK. Хочется отметить, что интерфейс настроек Drive SDK весьма устаревший, в отличии от остального функционала и достаточно часто возникали трудности с добавлением иконок, о чём даже писали телегу в саппорт Google (угадайте, получен ли ответ). Загружаем требуемые иконки файлов и иконки приложения (5 размеров). Для авторизации указываем ключ авторизации, скопы для получения email, информации об аккаунте и информации о файле, и адрес обработки запроса Google авторизации на personal.teamlab.com. Далее указываем основные форматы файлов для открытия в приложении: docx, xlsx, pptx. В дальнейшем, если в Google Drive выбрать наше приложение по умолчанию, то эти файлы будут открываться в один клик. Также мы добавили вторичные форматы: ppt, pps, odp, doc, odt, rtf, txt, xls, csv, ods, mht, html, htm, fb2, epub, pdf, djvu. При открытии файла этих форматов, приложение создаст в той же папке сконвертированную копию формата Office Open Xml и в редакторе откроет уже её. Такое же действие будет выполнено и для внутреннего формата Google Drive. В Google Chrome Web Store мы создали приложение Teamlab Personal, в манифесте которого указан контейнер для связи с Google Drive: «container»: «GOOGLE_DRIVE» и идентификатор нашего приложения из консоли разработчика. «container» : «GOOGLE_DRIVE», «api_console_project_id» : «YOUR_APP_ID» При установке Teamlab Personal из Вебстора, приложение будет автоматом подключено и в Google Drive. При открытии файла или создании нового на адрес в personal.teamlab.com приходит запрос с данными о действии и кодом, необходимым для получения токена авторизации по протоколу OAuth 2.0. Токен используется при работе с Drive API. Приложение обращается к Google Drive только двумя методами: получение файла и сохранение. Результат. Как это работает Вы устанавливаете приложение Teamlab Personal из Chrome Store — автоматически в вашем Google Drive аккаунте появляется иконка Teamlab при создании новых и редактировании существующих документов. При ее нажатии документ открывается в редакторе Teamlab, а по окончании работы сохраняется обратно на Диск.Если настроить использование Teamlab Personal по умолчанию, то docx, xlsx и pptx будут открываться в нем сразу. Для других документов создается копия в общепринятом формате, которая сохраняется здесь же, рядом с оригиналом в Google аккаунте.Чем мы отличились от Zoho Zoho требует полные права доступа к вашему Drive, мы — минимальные. Zoho конвертирует документы в собственный zdoc формат, мы — в общепринятый Office Open XML. Zoho предоставляет по отдельности редакторы текстов, таблиц и презентаций — у нас все в одном приложении. Ну, а уж сравнивать возможности редактирования в Zoho и в Teamlab — это вообще тема отдельного поста :-)Нерешенная проблема Основной трудностью, с которой мы столкнулись в процессе реализации, стала возможность обработки Google Sheets нового формата. При попытке получить к ним доступ с целью редактирования, выдается ошибка авторизации. Проблема решается довольно просто: нужно запросить у пользователя полные права доступа (как и сделали Zoho). Но кто же захочет давать столько информации стороннему приложению? Сами разработчики Google ещё год назад на Staсkoverflow обещали устранить проблему, но судя по всему, так и не выкатили обновления.В общем, мы решили, что требовать полные права у пользователей некрасиво, поэтому новые таблицы в редакторе Teamlab недоступны до тех пор, пока Google не исправит ошибку.
Абзац для маркетологов График показов и установок приложения в Chrome StoreМаленькая, но очень важная деталь, которая появляется при интеграции вашего приложения с Google Drive — вот эта вот иконка:
Она как бы намекает, что вы попали в каталог приложений для Диска, и шансов быть замеченными у вас теперь на порядок больше. Ну и в общем, у нас буквально за 1 вечер трафик на сайт Teamlab Personal подскочил в 4 раза, кривая реквестов с google аккаунтов начала истерично дергаться, количество показов в хром сторе перешло грани разумного, и еще мы теперь выдаемся в числе первых на некоторых языках по нужным нам запросам.
А все почему? Потому что приложение полезное и сделано с любовью.