Branch.io este o platformă comercială de deep linking și atribuire, care oferă o infrastructură unificată de linkuri pentru aplicațiile mobile pe iOS și Android. Conform Branch Documentation, platforma urmărește ciclul complet de interacțiune a utilizatorului, de la click pe link până la acțiunea țintă în aplicație. Deep linking în Branch.io funcționează pe toate platformele cu suport pentru deferred și atribuirea instalărilor.
Principalele puncte
Branch.io este o platformă care combină deep linking, atribuirea instalărilor mobile și analitica de marketing într-o singură soluție. Permite dezvoltatorilor și marketerilor să creeze linkuri inteligente care direcționează utilizatorul către aplicație sau pagină web în funcție de platformă, statusul instalării și alți parametri. În plus, Branch asociază automat fiecare instalare cu sursa trecerii.
Platforma a fost fondată în 2014 și este unul dintre liderii pieței de mobile measurement (MMP) alături de AppsFlyer și Adjust. Principalul avantaj al Branch este integrarea completă a deep linking-ului și a atribuirii într-un singur SDK, ceea ce elimină necesitatea utilizării unor soluții separate pentru linkuri și analitică.
Firebase Dynamic Links este un serviciu gratuit cu funcționalități de bază, în timp ce Branch.io este o platformă comercială cu atribuire avansată, care suportă peste 50 de integrări cu rețele de publicitate. Branch oferă analitică end-to-end pentru fiecare interacțiune a utilizatorului, inclusiv atribuire după modelele last-click, first-click și multi-touch.
Branch.io oferă un set larg de instrumente pentru lucrul cu linkurile mobile. Principalele capacități includ crearea Deepview — previzualizarea conținutului aplicației în browserul web înainte de instalare, generarea automată a Universal Links pentru iOS și App Links pentru Android, precum și suport pentru programe de recomandare cu recompense.
Platforma suportă de asemenea Journeys — un constructor vizual de pâlnii de implicare care afișează utilizatorului un banner cu propunerea de a instala aplicația la vizitarea site-ului mobil. Journeys se configurează fără programare prin interfața web Branch și suportă testarea A/B a creativelor.
| Funcție | Descriere | Aplicație |
|---|---|---|
| Deep Linking | Linkuri inteligente cu suport deferred | Trecere la conținut |
| Attribution | Atribuirea instalărilor și evenimentelor | Analitică de marketing |
| Journeys | Bannere web pentru instalare | Atragerea utilizatorilor |
| Deepview | Previzualizarea aplicației în browser | Demonstrarea conținutului |
| Segments | Segmentarea utilizatorilor | Personalizare |
Atribuirea instalărilor în Branch funcționează pe baza legării identificatorului de trecere (click ID) cu identificatorul dispozitivului la prima lansare a aplicației. Când un utilizator face click pe un link Branch, sistemul generează un identificator unic și îl salvează în browser sau în clipboard-ul sistemului. După instalare și prima lansare, SDK Branch citește acest identificator și leagă instalarea de sursa trecerii.
Branch suportă atribuirea după diferite modele. Last-click attribution determină ultima sursă de trecere înainte de instalare ca fiind cauza. Multi-touch attribution distribuie valoarea instalării între toate interacțiunile utilizatorului conform unor ponderi specificate. Platforma suportă de asemenea view-through attribution pentru afișări publicitare fără click.
Branch se integrează cu peste 50 de platforme publicitare, inclusiv Facebook Ads, Google Ads, TikTok Ads și Snapchat. Fiecare integrare utilizează mecanismele native de atribuire ale rețelei publicitare pentru acuratețe maximă. Configurarea se face prin Dashboard Branch fără a fi nevoie să modificați codul aplicației după integrarea inițială a SDK-ului.
Integrarea SDK-ului Branch în aplicația iOS începe cu instalarea pachetului prin CocoaPods, SPM sau Carthage. După instalare, este necesar să inițializați SDK-ul cu cheia aplicației din Dashboard Branch în metoda didFinishLaunchingWithOptions a AppDelegate-ului. SDK-ul înregistrează automat Universal Links pentru domeniul Branch.
Pentru funcționarea corectă a deep link-ului, trebuie configurate Associated Domains în Xcode Capabilities cu înregistrarea applinks:bnc.lt. Branch suportă de asemenea URL Scheme ca fallback în cazul în care Universal Links nu funcționează într-o versiune specifică de iOS. Procesarea tuturor linkurilor primite se face automat prin SDK fără a fi nevoie să scrieți propriul handler.
Exemplu de inițializare a SDK-ului Branch în AppDelegate în Swift. SDK-ul pornește o sesiune la lansarea aplicației și procesează automat toate deep link-urile.
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 pornește sesiunea Branch și verifică automat prezența unui deep link primit. Rezultatul este procesat prin delegatul BranchDelegate sau completion handler. SDK-ul Branch determină independent dacă linkul a fost deschis dintr-un cold start sau dintr-o aplicație deja pornită.
Pe Android, integrarea Branch începe cu adăugarea dependenței în build.gradle și specificarea cheii aplicației în AndroidManifest.xml. Branch utilizează Intent Filter pentru primirea deep link-urilor, care se adaugă automat prin pluginul Gradle la compilare. SDK-ul înregistrează de asemenea un BroadcastReceiver pentru primirea datelor de recomandare după instalare și suportă procesarea automată a Install Referrer API pentru atribuirea precisă a sursei.
Pentru atribuirea corectă a instalărilor din Google Play, Branch folosește Install Referrer API, care oferă informații despre sursa instalării chiar dacă utilizatorul nu a făcut click pe un link. Pe dispozitivele fără Google Play Services se utilizează BroadcastReceiver-ul de recomandare.
Exemplu de inițializare a SDK-ului Branch în MainActivity în Kotlin cu procesarea datelor primite de la 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-ul în metoda initSession returnează un JSONObject cu parametrii deep link-ului și o eroare. Parametrul $deeplink_path conține calea țintă, iar ceilalți parametri sunt transmiși în formatul arbitrar specificat la crearea linkului în Dashboard Branch. Procesarea se face în onStart pentru funcționarea corectă la restartarea Activity și la trecerea din altă aplicație.
Branch Dashboard oferă rapoarte vizuale pentru toate metricile cheie: numărul de clickuri pe linkuri, instalări, conversii, venituri și retenție. Datele sunt disponibile în timp real cu posibilitatea de export în CSV și integrare cu sisteme externe de analitică prin API.
Platforma suportă configurarea Events — evenimente personalizate pe care aplicația le trimite către Branch prin SDK. Fiecare eveniment poate conține metadate arbitrare: costul achiziției, categoria produsului, nivelul utilizatorului. Branch asociază automat evenimentele cu sursa instalării, permițând evaluarea ROI-ului fiecărui canal de marketing.
Branch Dashboard include mai multe rapoarte prestabilite — Summary, Sources, Cohorts și Funnels. Summary arată imaginea de ansamblu a instalărilor și trecerilor, Sources detaliază pe canale, Cohorts urmărește retenția utilizatorilor pe zile, iar Funnels construiește pâlnii de conversie după evenimente specificate. Toate rapoartele suportă filtrarea după dată, platformă, țară și campanie publicitară.
Pentru o analiză mai detaliată, Branch oferă Export API, care permite exportarea datelor brute despre treceri și instalări în propriile sisteme de analitică. API-ul suportă filtrarea după interval de timp, tip de eveniment și sursă. Exportul este disponibil în formatele CSV și JSON cu posibilitatea de export automat programat prin webhook.
Segment Builder în Branch Dashboard permite crearea de segmente dinamice de utilizatori pe baza oricărui set de evenimente și atribute. De exemplu, se poate crea un segment de utilizatori care au instalat aplicația dintr-o anumită campanie publicitară și au efectuat o achiziție în termen de 7 zile. Segmentele se actualizează în timp real și sunt disponibile pentru export sau integrare prin API. Branch suportă de asemenea anonymized aggregated exports — rezumate anonimizate pe segmente pentru trimiterea către rețelele de publicitate și optimizarea targetării.
Întrebări frecvente
Branch oferă un plan gratuit cu limitare a numărului de evenimente pe lună. Pentru utilizare comercială sunt disponibile planuri plătite cu atribuire extinsă, număr nelimitat de evenimente și suport prioritar. Prețurile variază între 500 și câteva mii de dolari pe lună.
Diferența principală — Branch combină deep linking și atribuirea într-un singur SDK, în timp ce AppsFlyer se concentrează doar pe atribuire. Branch oferă de asemenea Deepview și Journeys, care lipsesc în AppsFlyer. Alegerea depinde de nevoile proiectului.
Da, Branch oferă SDK pentru React Native, Flutter, Unity, Cordova și Xamarin. Toate SDK-urile cross-platform suportă funcționalitatea completă: deep linking, atribuire, analitică de evenimente și Journeys.
Branch suportă complet ATT pe iOS 14+. SDK-ul solicită permisiunea de urmărire prin dialogul standard. Dacă utilizatorul refuză, Branch folosește SKAdNetwork pentru atribuire fără IDFA, păstrând acuratețea la nivel de campanie.
Da, linkurile Branch funcționează corect în browserele web. Pe desktop, linkul deschide URL-ul specificat, pe dispozitive mobile — aplicația sau o pagină de fallback. Branch suportă de asemenea Quick Links pentru site-uri web fără instalarea SDK-ului.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și