Branch.io to komercyjna platforma deep linking i atrybucji, zapewniająca jednolitą infrastrukturę linków dla aplikacji mobilnych na iOS i Android. Według Branch Documentation, platforma śledzi pełny cykl interakcji użytkownika od kliknięcia w link do docelowej akcji w aplikacji. Deep linking w Branch.io działa na wszystkich platformach z obsługą deferred i atrybucji instalacji.
Najważniejsze
Branch.io to platforma łącząca deep linking, atrybucję instalacji mobilnych i analitykę marketingową w jednym rozwiązaniu. Pozwala programistom i marketerom tworzyć inteligentne linki, które kierują użytkownika do aplikacji lub strony internetowej w zależności od platformy, statusu instalacji i innych parametrów. Ponadto Branch automatycznie łączy każdą instalację ze źródłem przejścia.
Platforma została założona w 2014 roku i jest jednym z liderów rynku mobile measurement (MMP) obok AppsFlyer i Adjust. Główną zaletą Branch jest pełna integracja deep linkingu i atrybucji w jednym SDK, co eliminuje potrzebę używania oddzielnych rozwiązań do linków i analityki.
Firebase Dynamic Links to darmowy serwis z podstawową funkcjonalnością, podczas gdy Branch.io to komercyjna platforma z zaawansowaną atrybucją, obsługująca ponad 50 integracji z sieciami reklamowymi. Branch zapewnia kompleksową analitykę każdej interakcji użytkownika, w tym atrybucję według modeli last-click, first-click i multi-touch.
Branch.io udostępnia szeroki zestaw narzędzi do pracy z linkami mobilnymi. Główne możliwości obejmują tworzenie Deepview — podgląd treści aplikacji w przeglądarce internetowej przed instalacją, automatyczną generację Universal Links dla iOS i App Links dla Android oraz obsługę programów poleceń z nagrodami.
Platforma obsługuje również Journeys — wizualny kreator lejków zaangażowania, który wyświetla użytkownikowi baner z propozycją instalacji aplikacji podczas odwiedzania mobilnej strony. Journeys konfiguruje się bez programowania poprzez interfejs webowy Branch i obsługuje testy A/B kreacji.
| Funkcja | Opis | Zastosowanie |
|---|---|---|
| Deep Linking | Inteligentne linki z obsługą deferred | Przejście do treści |
| Attribution | Atrybucja instalacji i zdarzeń | Analityka marketingowa |
| Journeys | Banery webowe do instalacji | Pozyskiwanie użytkowników |
| Deepview | Podgląd aplikacji w przeglądarce | Prezentacja treści |
| Segments | Segmentacja użytkowników | Personalizacja |
Atrybucja instalacji w Branch działa na podstawie powiązania identyfikatora przejścia (click ID) z identyfikatorem urządzenia przy pierwszym uruchomieniu aplikacji. Gdy użytkownik kliknie link Branch, system generuje unikalny identyfikator i zapisuje go w przeglądarce lub systemowym schowku. Po instalacji i pierwszym uruchomieniu SDK Branch odczytuje ten identyfikator i łączy instalację ze źródłem przejścia.
Branch obsługuje atrybucję według różnych modeli. Last-click attribution określa ostatnie źródło przejścia przed instalacją jako przyczynę. Multi-touch attribution rozdziela wartość instalacji pomiędzy wszystkie interakcje użytkownika według zadanych wag. Platforma obsługuje również view-through attribution dla wyświetleń reklam bez kliknięcia.
Branch integruje się z ponad 50 platformami reklamowymi, w tym Facebook Ads, Google Ads, TikTok Ads i Snapchat. Każda integracja wykorzystuje natywne mechanizmy atrybucji sieci reklamowej dla maksymalnej dokładności. Konfiguracja odbywa się przez Dashboard Branch bez konieczności modyfikacji kodu aplikacji po wstępnej integracji SDK.
Integracja Branch SDK w aplikacji iOS rozpoczyna się od instalacji pakietu przez CocoaPods, SPM lub Carthage. Po instalacji należy zainicjować SDK z kluczem aplikacji z Dashboard Branch w metodzie didFinishLaunchingWithOptions AppDelegate. SDK automatycznie rejestruje Universal Links dla domeny Branch.
Do poprawnego działania deep linka należy skonfigurować Associated Domains w Xcode Capabilities z wpisem applinks:bnc.lt. Branch obsługuje również URL Scheme jako fallback na wypadek, gdy Universal Links nie zadziałają w konkretnej wersji iOS. Obsługa wszystkich przychodzących linków odbywa się automatycznie przez SDK bez konieczności pisania własnego handlera.
Przykład inicjalizacji Branch SDK w AppDelegate w Swift. SDK uruchamia sesję przy starcie aplikacji i automatycznie przetwarza wszystkie deep linki.
import BranchSDK
class AppDelegate: UIResponder,
UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions
launchOptions: [UIApplication
.LaunchOptionsKey: Any]?
) -> Bool {
Branch.getInstance()
.initSession(launchOptions: launchOptions)
return true
}
}
Metoda initSession uruchamia sesję Branch i automatycznie sprawdza obecność przychodzącego deep linka. Wynik jest przetwarzany przez delegata BranchDelegate lub completion handler. Branch SDK samodzielnie określa, czy link został otwarty z cold startu czy z już uruchomionej aplikacji.
W Android integracja Branch rozpoczyna się od dodania zależności w build.gradle i podania klucza aplikacji w AndroidManifest.xml. Branch używa Intent Filter do odbioru deep linka, który automatycznie dodaje się przez wtyczkę Gradle podczas kompilacji. SDK rejestruje również BroadcastReceiver do otrzymywania danych poleceń po instalacji i obsługuje automatyczne przetwarzanie Install Referrer API dla dokładnej atrybucji źródła.
Do poprawnej atrybucji instalacji z Google Play Branch używa Install Referrer API, który dostarcza informacje o źródle instalacji nawet jeśli użytkownik nie kliknął linka. Na urządzeniach bez Google Play Services używany jest referencyjny BroadcastReceiver.
Przykład inicjalizacji Branch SDK w MainActivity w Kotlin z obsługą przychodzących danych z deep linka.
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 w metodzie initSession zwraca JSONObject z parametrami deep linka i błędem. Parametr $deeplink_path zawiera docelową ścieżkę, pozostałe parametry są przekazywane w dowolnym formacie określonym przy tworzeniu linka w Dashboard Branch. Obsługa jest wykonywana w onStart dla poprawnego działania przy restarcie Activity i przy przejściu z innej aplikacji.
Branch Dashboard udostępnia wizualne raporty wszystkich kluczowych metryk: liczby kliknięć linków, instalacji, konwersji, przychodu i utrzymania. Dane są dostępne w czasie rzeczywistym z możliwością eksportu do CSV i integracji z zewnętrznymi systemami analitycznymi przez API.
Platforma obsługuje konfigurację Events — zdarzeń niestandardowych, które aplikacja wysyła do Branch przez SDK. Każde zdarzenie może zawierać dowolne metadane: koszt zakupu, kategorię produktu, poziom użytkownika. Branch automatycznie łączy zdarzenia ze źródłem instalacji, umożliwiając ocenę ROI każdego kanału marketingowego.
Branch Dashboard zawiera kilka predefiniowanych raportów — Summary, Sources, Cohorts i Funnels. Summary pokazuje ogólny obraz instalacji i przejść, Sources uszczegóławia według kanałów, Cohorts śledzi utrzymanie użytkowników według dni, a Funnels buduje lejki konwersji według zadanych zdarzeń. Wszystkie raporty obsługują filtrowanie według daty, platformy, kraju i kampanii reklamowej.
Do bardziej szczegółowej analizy Branch udostępnia Export API, który pozwala na eksport surowych danych o przejściach i instalacjach do własnych systemów analitycznych. API obsługuje filtrowanie według zakresu czasu, typu zdarzenia i źródła. Eksport jest dostępny w formatach CSV i JSON z możliwością automatycznego eksportu według harmonogramu przez webhook.
Segment Builder w Branch Dashboard umożliwia tworzenie dynamicznych segmentów użytkowników na podstawie dowolnego zestawu zdarzeń i atrybutów. Można na przykład utworzyć segment użytkowników, którzy zainstalowali aplikację z konkretnej kampanii reklamowej i dokonali zakupu w ciągu 7 dni. Segmenty aktualizują się w czasie rzeczywistym i są dostępne do eksportu lub integracji przez API. Branch obsługuje również anonymized aggregated exports — anonimowe zestawienia według segmentów do wysyłki do sieci reklamowych i optymalizacji targetowania.
Często zadawane pytania
Branch oferuje darmowy plan z ograniczeniem liczby zdarzeń miesięcznie. Do użytku komercyjnego dostępne są płatne plany z rozszerzoną atrybucją, nieograniczoną liczbą zdarzeń i priorytetowym wsparciem. Ceny wahają się od 500 do kilku tysięcy dolarów miesięcznie.
Główna różnica — Branch łączy deep linking i atrybucję w jednym SDK, podczas gdy AppsFlyer skupia się tylko na atrybucji. Branch oferuje również Deepview i Journeys, których brakuje w AppsFlyer. Wybór zależy od potrzeb projektu.
Tak, Branch udostępnia SDK dla React Native, Flutter, Unity, Cordova i Xamarin. Wszystkie wieloplatformowe SDK obsługują pełną funkcjonalność: deep linking, atrybucję, analitykę zdarzeń i Journeys.
Branch w pełni obsługuje ATT na iOS 14+. SDK prosi o pozwolenie na śledzenie przez standardowe okno dialogowe. Jeśli użytkownik odmówi, Branch używa SKAdNetwork do atrybucji bez IDFA, zachowując dokładność na poziomie kampanii.
Tak, linki Branch działają poprawnie w przeglądarkach internetowych. Na komputerze link otwiera określony URL, na urządzeniach mobilnych — aplikację lub stronę fallback. Branch obsługuje również Quick Links dla stron internetowych bez instalacji SDK.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.
Przeczytaj również