Branch.io је комерцијална платформа за deep linking и атрибуцију, која пружа јединствену инфраструктуру линкова за мобилне апликације на iOS и Android. Према Branch Documentation, платформа прати комплетан циклус интеракције корисника од клика на линк до циљне радње у апликацији. Deep linking у Branch.io ради на свим платформама са подршком за deferred и атрибуцију инсталација.
Главне тачке
Branch.io је платформа која обједињује deep linking, атрибуцију мобилних инсталација и маркетиншку аналитику у јединственом решењу. Омогућава програмерима и маркетарима да креирају паметне линкове који усмеравају корисника у апликацију или на веб страницу у зависности од платформе, статуса инсталације и других параметара. Поред тога, Branch аутоматски повезује сваку инсталацију са извором преласка.
Платформа је основана 2014. године и један је од лидера тржишта mobile measurement (MMP) уз AppsFlyer и Adjust. Главна предност Branch је потпуна интеграција deep linking-а и атрибуције у једном SDK, што елиминише потребу за коришћењем одвојених решења за линкове и аналитику.
Firebase Dynamic Links је бесплатни сервис са основном функционалношћу, док је Branch.io комерцијална платформа са напредном атрибуцијом која подржава преко 50 интеграција са рекламним мрежама. Branch пружа свеобухватну аналитику сваке интеракције корисника, укључујући атрибуцију по моделима last-click, first-click и multi-touch.
Branch.io пружа широк скуп алата за рад са мобилним линковима. Главне могућности укључују креирање Deepview — преглед садржаја апликације у веб прегледачу пре инсталације, аутоматско генерисање Universal Links за iOS и App Links за Android, као и подршку за програме препорука са наградама.
Платформа такође подржава Journeys — визуелни конструктор левака ангажовања који приказује кориснику банер са предлогом да инсталира апликацију приликом посете мобилном сајту. Journeys се подешава без програмирања путем веб интерфејса Branch и подржава A/B тестирање креатива.
| Функција | Опис | Примена |
|---|---|---|
| Deep Linking | Паметни линкови са deferred подршком | Прелазак на садржај |
| Attribution | Атрибуција инсталација и догађаја | Маркетиншка аналитика |
| Journeys | Веб банери за инсталацију | Привлачење корисника |
| Deepview | Преглед апликације у прегледачу | Приказивање садржаја |
| Segments | Сегментација корисника | Персонализација |
Атрибуција инсталација у Branch ради на основу повезивања идентификатора преласка (click ID) са идентификатором уређаја при првом покретању апликације. Када корисник кликне на Branch линк, систем генерише јединствени идентификатор и чува га у прегледачу или системском клипборду. Након инсталације и првог покретања, Branch SDK чита овај идентификатор и повезује инсталацију са извором преласка.
Branch подржава атрибуцију по различитим моделима. Last-click attribution одређује последњи извор преласка пре инсталације као узрок. Multi-touch attribution расподељује вредност инсталације између свих интеракција корисника по задатим тежинама. Платформа такође подржава view-through attribution за рекламна приказивања без клика.
Branch се интегрише са преко 50 рекламних платформи, укључујући Facebook Ads, Google Ads, TikTok Ads и Snapchat. Свака интеграција користи изворне механизме атрибуције рекламне мреже за максималну прецизност. Подешавање се врши путем Branch Dashboard без потребе за изменом кода апликације након почетне интеграције SDK.
Интеграција Branch SDK у iOS апликацију почиње инсталацијом пакета путем CocoaPods, SPM или Carthage. Након инсталације, потребно је иницијализовати SDK са кључем апликације из Branch Dashboard у методи didFinishLaunchingWithOptions AppDelegate-а. SDK аутоматски региструје Universal Links за Branch домен.
За исправан рад deep link-а потребно је конфигурисати Associated Domains у Xcode Capabilities са записом applinks:bnc.lt. Branch такође подржава URL Scheme за fallback у случају да Universal Links не раде у одређеној верзији iOS-а. Обрада свих долазних линкова се врши аутоматски путем SDK без потребе за писањем сопственог handler-а.
Пример иницијализације Branch SDK у AppDelegate на Swift-у. SDK покреће сесију при стартовању апликације и аутоматски обрађује све deep link-ове.
import BranchSDK
class AppDelegate: UIResponder,
UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions
launchOptions: [UIApplication
.LaunchOptionsKey: Any]?
) -> Bool {
Branch.getInstance()
.initSession(launchOptions: launchOptions)
return true
}
}
Метода initSession покреће Branch сесију и аутоматски проверава постојање долазног deep link-а. Резултат се обрађује путем делегата BranchDelegate или completion handler-а. Branch SDK самостално одређује да ли је линк отворен из cold start-а или из већ покренуте апликације.
На Android-у, интеграција Branch почиње додавањем зависности у build.gradle и навођењем кључа апликације у AndroidManifest.xml. Branch користи Intent Filter за пријем deep link-а, који се аутоматски додаје путем Gradle додатка приликом компилације. SDK такође региструје BroadcastReceiver за пријем рефералних података након инсталације и подржава аутоматску обраду Install Referrer API за прецизну атрибуцију извора.
За исправну атрибуцију инсталација из Google Play-а, Branch користи Install Referrer API који пружа информације о извору инсталације чак и ако корисник није кликнуо на линк. На уређајима без Google Play Services користи се реферални BroadcastReceiver.
Пример иницијализације Branch SDK у MainActivity на Kotlin-у са обрадом долазних података од deep link-а.
class MainActivity : AppCompatActivity() {
override fun onStart() {
super.onStart()
Branch.getInstance()
.initSession { params, error ->
if (error == null) {
val data = params.optString(
"$deeplink_path", ""
)
navigateToScreen(data)
}
}
}
}
Completion handler у методи initSession враћа JSONObject са параметрима deep link-а и грешком. Параметар $deeplink_path садржи циљну путању, остали параметри се преносе у произвољном формату задатом при креирању линка у Branch Dashboard-у. Обрада се врши у onStart за исправан рад при рестартовању Activity и при преласку из друге апликације.
Branch Dashboard пружа визуелне извештаје о свим кључним метрикама: броју кликова на линкове, инсталацијама, конверзијама, приходу и задржавању. Подаци су доступни у реалном времену са могућношћу извоза у CSV и интеграције са спољним аналитичким системима путем API.
Платформа подржава конфигурацију Events — прилагођених догађаја које апликација шаље Branch-у путем SDK. Сваки догађај може садржати произвољне метаподатке: цену куповине, категорију производа, ниво корисника. Branch аутоматски повезује догађаје са извором инсталације, омогућавајући процену ROI сваког маркетиншког канала.
Branch Dashboard укључује неколико унапред подешених извештаја — Summary, Sources, Cohorts и Funnels. Summary приказује општу слику инсталација и прелазака, Sources детаљно приказује по каналима, Cohorts прати задржавање корисника по данима, а Funnels гради левке конверзије по задатим догађајима. Сви извештаји подржавају филтрирање по датуму, платформи, земљи и рекламној кампањи.
За детаљнију анализу, Branch пружа Export API који омогућава извоз сирових података о преласцима и инсталацијама у сопствене аналитичке системе. API подржава филтрирање по временском опсегу, типу догађаја и извору. Извоз је доступан у форматима CSV и JSON са могућношћу аутоматског извоза по распореду путем webhook-а.
Segment Builder у Branch Dashboard-у омогућава креирање динамичких сегмената корисника на основу било ког скупа догађаја и атрибута. На пример, може се креирати сегмент корисника који су инсталирали апликацију из одређене рекламне кампање и извршили куповину у року од 7 дана. Сегменти се ажурирају у реалном времену и доступни су за извоз или интеграцију путем API. Branch такође подржава anonymized aggregated exports — анонимизоване збирне податке по сегментима за слање рекламним мрежама и оптимизацију циљања.
Често постављана питања
Branch нуди бесплатни тарифни план са ограниченим бројем догађаја месечно. За комерцијалну употребу доступни су плаћени планови са проширеном атрибуцијом, неограниченим бројем догађаја и приоритетном подршком. Цене се крећу од 500 до неколико хиљада долара месечно.
Главна разлика — Branch обједињује deep linking и атрибуцију у једном SDK, док се AppsFlyer фокусира само на атрибуцију. Branch такође пружа Deepview и Journeys, који недостају у AppsFlyer-у. Избор зависи од потреба пројекта.
Да, Branch пружа SDK за React Native, Flutter, Unity, Cordova и Xamarin. Сви вишеплатформски SDK подржавају пуну функционалност: deep linking, атрибуцију, аналитику догађаја и Journeys.
Branch у потпуности подржава ATT на iOS 14+. SDK тражи дозволу за праћење путем стандардног дијалога. Ако корисник одбије, Branch користи SKAdNetwork за атрибуцију без IDFA-а, задржавајући прецизност на нивоу кампање.
Да, Branch линкови исправно раде у веб прегледачима. На десктопу, линк отвара наведени URL, на мобилним уређајима — апликацију или fallback страницу. Branch такође подржава Quick Links за веб сајтове без инсталације SDK.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође