Что такое SDK в SaaS-решении и как правильно интегрировать его в мобильное приложение

Что такое SDK в SaaS-решении и как правильно интегрировать его в мобильное приложение

Pavel Murkin
Chief technical officer

Если говорить упрощенно, мобильные приложения состоят из множества независимых модулей, каждый из которых отвечает за одну из функций или возможностей: отображение интерфейса, эквайринг, онбординг и прочее. Подобные модули, которые можно использовать в разных приложениях и настраивать под конкретную задачу, называют SDK — Software development kit. Их можно сравнить со сложными IT-деталями, из которых складывается цельное работоспособное приложение. 

 

Чтобы добавить в приложение новый функционал, можно разработать SDK для конкретного приложения самостоятельно либо подключить необходимое стороннее SaaS-решение. Мы уже проводили сравнение по затратам ресурсов между этими двумя подходами (не в пользу первого), теперь разберемся в особенностях процесса интеграции готового решения, разработанного другой компанией. 

 

Подключение стороннего SDK довольно простой процесс — запускаешь пакетный менеджер в интегрированной среде разработки (IDE), вводишь ключ активации (если, например, сервис работает по подписке), и далее библиотека интегрируется автоматически. Для разработчиков это задача на пять минут, руководство по добавлению SDK есть в открытом доступе. Размер SDK составляет порядка 2,5 Мб. Также стоит отметить, что модуль не взаимодействует с персональными данными приложения партнера.

 

Главные сложности — в процессах настройки компонентов SDK. Все надо сделать так, чтобы сервис работал верно с одной стороны, и функционал использовался максимально с другой.

 

 

Интегрировать SDK в приложение


 

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

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

 


 1.  Подготовьте дизайн ячеек сторис

В самом SDK сторис можно сделать ряд базовых настроек отображения виджета — установить размер иконок, используемый шрифт. Если новый раздел нужно максимально подогнать под имеющийся дизайн приложения, то важно чтобы дизайнер компании более детально отрисовал элементы виджета — угол закругления иконок, их форму, цвет рамки, способ отображения прочитанных и новых сторис в ленте. Затем макет нужно передать разработчику и интегрировать в SDK.

 

 2.  Подготовьте индивидуальные ID пользователей 

Для корректной работы и сбора данных для аналитики модулю необходимо понимать, какой пользователь смотрит конкретную сторис. Поэтому со стороны приложения на SDK нужно передать уникальные идентификаторы пользователей. В идеале они не должны содержать персональной информации — телефонов или имейлов. Также на стороне партнера должна оставаться возможность однозначно выявить пользователя по этому идентификатору. Это нужно, чтобы можно было сделать корректные выводы по результатам прохождения тестов или викторин — например, для определения победителя.

 

 3.  Подготовьте ссылки для перехода в разделы приложения

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

 

 4.  Настройте таргетинг

SDK InAppStory позволяет показывать разным сегментам пользователей разные сторис. Задача партнера при настройке SDK — выделить определенные группы пользователей, которым будут присвоены определенные теги: новые, постоянные, обеспеченные, активные пользователи или любые другие. То есть, при входе в сторис система партнера должна передавать в SDK информацию о том, что этому ID пользователя (пункт 2) присвоены следующие теги. Разметка групп пользователей по тегам производится на стороне партнера — в приложении или CRM-системе.

 

 5.  Настройте персонализацию 

Чтобы использовать возможности персонализации — обращения к пользователю по имени, автоматическом формировании индивидуальных предложений, подбору подходящих тематик сторис и прочее — также нужно настроить систему переменных. Для этого вместе с ID пользователя (пункт 2) на стороне SDK нужно указывать название переменной для этой истории: например user name, и ее значение — имя конкретного человека. В таком сценарии в сторис можно персонально обращаться к пользователю по имени и выводить аналогичным образом персональные предложения.

 

 6.  Подключите шеринг 

Если партнеру нужна возможность делиться сторис из приложения в соцсетях, то для этого нужно создать web-страницу на своём сайте и разместить там другое SDK, которое позволяет отобразить сторис — Share Page SDK InAppStory. А в консоли InAppStory зайти в настройки проекта и указать ссылку на эту страницу. Именно она будет отправляться в пост, например, на Facebook, когда пользователь будет жать кнопку «поделиться». 


 7.  Настройте push-уведомления 

Одна из важных маркетинговых возможностей сервиса InAppStory — возможность показывать пользователю сторис при переходе из push-уведомлений.

Для этого разработчикам приложения партнера нужно предусмотреть это в обработчике пуш-уведомлений. Всё необходимое для показа нужной сторис по ее идентификатору уже есть в SDK InAppStory.

 

 8.  Добавьте сторис в виджет вашего приложения

Если в приложении партнера настроена возможность добавления виджета на рабочий стол мобильного устройства, то в нем также можно отобразить сторис. Так они всегда будут на виду у пользователя. Возможность добавления сторис в виджет приложения — задача разработчиков, для которой нужно встроить код в мобильное приложение партнера. Инструкции по программированию опубликованы здесь: для iOS и для Android.