GoogleИнструменты разработчикаТехническая информация

Заменяет ли решение Branch динамические ссылки Firebase?

By Октябрь 30, 2017 No Comments

Если вы хоть раз пробовали создать мобильное приложение с функциональностью, выходящей за рамки базовой, то наверняка столкнулись с необходимостью создания серверной части приложения. После этого вы наверняка поняли, что создание и обслуживание этой части приложения — непростая задача. Платформы BaaS (серверный компонент как услуга), такие как Firebase и Parse, существенно расширили возможности разработчиков, стремящихся сосредоточить свои усилия на создании приложений.

Корпорация Google выпустила Firebase в 2014 г., с тех пор это решение превратилось из простого поставщика серверной части приложений в полноценную платформу «Приложения как услуги» благодаря пакету новых инструментов для создания и развития приложений. Это великолепная новость для разработчиков: теперь можно очень просто и удобно запустить и поддерживать мобильное приложение. Поскольку многие в команде Branch являются инженерами мобильных решений, мы по достоинству оценили потенциал набора инструментов Firebase и настоятельно рекомендуем попробовать его в начале работы над новыми проектами.

Разумеется, есть и отрицательная сторона: эти новые программы конкурируют в областях услуг, где уже свыше четырех лет появляются новые и усовершенствованные продукты. Мы считаем, что корпорация Google взялась за непосильную задачу, попытавшись выпустить одновременно десяток решений. В результате множество этих компонентов стали классическими примерами широко разрекламированных, но малоэффективных решений. Бывает непросто определить, на каком этапе развития вашего приложения может понадобиться более мощное решение, а недостатки платформы могут не бросаться в глаза до тех пор, пока не станет слишком поздно (пока вы не создадите основную часть приложения на основе этой платформы).

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

Динамические ссылки Firebase

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

  • Запуск приложения, если оно установлено, и переход непосредственно к содержимому.
  • Переадресация в App Store/Play Store, если приложение не установлено, а после загрузки и установки приложения — переход к содержимому.
  • Регистрация аналитики и данных отслеживания.

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

Динамические ссылки != размещенные ссылки Branch

Приведенные выше требования точно такие же, которыми руководствовались и мы, когда начали работу над Branch в 2014 г. Эти требования образуют основу успешной службы прямых ссылок, основу всех решений Branch, поскольку мы создали инфраструктуру ссылок для лучших в мире приложений. Впрочем, как всегда, «дьявол кроется в деталях». Что вы, разработчик, на самом деле можете делать с помощью этих ссылок?

 

Динамические ссылки Branch
Создание ссылок внутри приложения X X
Создание ссылок с помощью панели мониторинга в сети X X
URL-адреса ссылок без спама X
Гибкие настраиваемые параметры данных в каждой ссылке   X* X
Маршрут к определенному содержимому, даже если приложение не установлено X X
Стандартный отклик данных на ссылку в формате JSON X
Идентификация первой установки X
Гарантия точности совпадения при первой установке X
Идентификация уникальных пользователей (для рефералов и пр.) X
Мощная техническая поддержка, работающая на основе SLA X
Обработка граничных случаев (включая Facebook и эл. почту) X


* Необходимо вручную кодировать в составе URL-адреса ссылки

Практический пример

В таблице все выглядит неплохо, но представим, что нам нужно реализовать равноценную функциональность прямых ссылок в простом приложении для iOS, например подобном нашему внутреннему приложению Branch Room Maps app? Давайте сравним код напрямую.

Сначала нужно создать сеанс и обрабатывать входящие ссылки. Вот как это будет выглядеть в Firebase.

А вот то же самое при реализации в Branch.

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

Перейдем к созданию ссылок. Сначала Firebase

Теперь Branch

И вновь код Firebase требует чуть большего объема ручной работы, хотя настоящая разница здесь в самих URL-адресах ссылок (ссылки с брендингом действительно важны).

Еще важнее, что вы сможете сделать с этими ссылками на практике при их использовании? Вот данные, которые вы получите от инструкцийdumpв AppDelegate.

Firebase:

url: https://branch.io/room?roomID=PineCone

Branch:

+click_timestamp: 1482541476
+clicked_branch_link: 1
+is_first_session: 0
+match_guaranteed: 1
+referrer: https://www.google.com/
+phone_number: //only returned when link is SMSed from desktop to mobile
~creation_source: 3
~referring_link: https://branchmaps.app.link/D1PpymBZlz
~feature: sharing
~channel: Pasteboard
~id: 341010052121261919
$one_time_use: 0
$og_title: Pine Cone
$identity_id: 339834809826614244
$canonical_identifier: room/PineCone
$publicly_indexable: 1
$exp_date: 0
room_name: Pine Cone

Как видите, общего между двумя платформами не так и много. В Branch вы получаете целый набор полезных контекстных параметров, в том числе обнаружение установки (+is_first_session) и точность совпадения (+match_guaranteed). Обнаружение установки важно для предоставления нестандартной процедуры освоения приложений, а точность совпадения обеспечивает работу прямых ссылок, ведущих на индивидуальное содержимое с уверенностью, что вы показываете нужное содержимое нужному пользователю. Branch справляется с этой задачей лучше, чем все прочие игроки в экосистеме.

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

Firebase возвращает простой необработанный URL-адрес.

На этом возможности динамических ссылок и заканчиваются. Они отправляют пользователей туда, куда вам нужно (если не придется обрабатывать слишком много граничных случаев), отслеживают щелчки ссылок, но и только. Для Branch эти возможности являются лишь начальными. Для нас мощная система прямых ссылок — это фундамент, на котором мы строим все остальное.

  • Смарт-баннеры Journey: самые мощные и гибкие смарт-баннеры приложений.
  • Представления Deepviews: повышение показателей конверсии за счет предоставления пользователям предварительного просмотра содержимого в приложении перед загрузкой.
  • Прямые ссылки в электронной почте: добавление прямых ссылок в маркетинговые письма.
  • Рефералы: отслеживание рефералов и вознаграждение пользователей.
  • Интеграция данных: автоматическая отправка аналитических данных во внешние программы.
  • Решение Text Me The App: посетители с настольных ПК могут отправлять самим себе СМС-сообщения со ссылкой для загрузки мобильного приложения.
  • Полнофункциональная аналитика: отслеживайте переходы, установки, самое эффективное содержимое, самых выгодных пользователей и другие показатели.

Кроме того, поскольку мы сами разрабатываем приложения, то прекрасно понимаем, насколько важно получить помощь, когда она нужна. Мы отслеживаем каждый вопрос на сайте StackOverflow с тегом Branch.io tag, наша команда интеграции предоставляет free unlimited support поддержку ВСЕМ партнерам.

Лучшее из обоих решений

Хорошая новость: вам не потребуется выбирать одно решение, отказываясь от другого. Платформа Firebase реализована в виде набора независимых модульных пакетов SDK. Для реализации динамических ссылок нужно просто добавить еще один SDK, поэтому вместо него можно без труда использовать Branch. Так, может быть, даже проще. Вы получаете все преимущества платформы AaaS Firebase, а также гибкость и мощь самой совершенной в мире платформы мобильных прямых ссылок.