Branch.io, iOS ve Android'deki mobil uygulamalar için birleşik bir bağlantı altyapısı sağlayan ticari bir derin bağlantı ve atıf platformudur. Branch Documentation'a göre platform, bağlantı tıklamasından uygulamadaki hedef eyleme kadar kullanıcı etkileşiminin tam döngüsünü izler. Branch.io'da derin bağlantı, ertelenmiş derin bağlantı ve yükleme atfı desteğiyle tüm platformlarda çalışır.
Önemli Noktalar
Branch.io, derin bağlantı, mobil yükleme atfı ve pazarlama analitiğini tek bir çözümde birleştiren bir platformdur. Geliştiricilerin ve pazarlamacıların, platforma, yükleme durumuna ve diğer parametrelere bağlı olarak kullanıcıyı uygulamaya veya web sayfasına yönlendiren akıllı bağlantılar oluşturmasına olanak tanır. Ayrıca Branch, her yüklemeyi otomatik olarak kaynağına bağlar.
Platform 2014 yılında kurulmuştur ve AppsFlyer ve Adjust ile birlikte mobil ölçüm (MMP) pazarının liderlerinden biridir. Branch'in ana avantajı, derin bağlantı ve atfı tek bir SDK'da tam olarak entegre etmesi, bağlantılar ve analitik için ayrı çözümler kullanma ihtiyacını ortadan kaldırmasıdır.
Firebase Dynamic Links, temel işlevselliğe sahip ücretsiz bir hizmettir; Branch.io ise 50'den fazla reklam ağıyla entegrasyonu destekleyen gelişmiş atıf ile ticari bir platformdur. Branch, son tıklama, ilk tıklama ve çoklu dokunma atıf modelleri dahil olmak üzere her kullanıcı temas noktasında uçtan uca analitik sağlar.
Branch.io, mobil bağlantılarla çalışmak için geniş bir araç seti sağlar. Temel yetenekler arasında Deepview — yüklemeden önce web tarayıcısında uygulama içeriğinin önizlemesi, iOS için Universal Links ve Android için App Links'in otomatik oluşturulması ve ödüllü yönlendirme programlarının desteği bulunur.
Platform ayrıca Journeys'i de destekler — mobil siteyi ziyaret ederken kullanıcıya uygulamayı yüklemeye davet eden bir banner gösteren görsel bir etkileşim hunisi oluşturucu. Journeys, Branch web arayüzü üzerinden kodlama olmadan yapılandırılabilir ve kreatiflerin A/B testini destekler.
| Özellik | Açıklama | Kullanım |
|---|---|---|
| Derin Bağlantı | Ertelenmiş destekli akıllı bağlantılar | İçeriğe gitme |
| Atıf | Yükleme ve etkinlik atfı | Pazarlama analitiği |
| Journeys | Yükleme için web banner'ları | Kullanıcı edinimi |
| Deepview | Tarayıcıda uygulama önizlemesi | İçerik gösterimi |
| Segments | Kullanıcı segmentasyonu | Kişiselleştirme |
Branch'te yükleme atfı, ilk uygulama başlatmada tıklama tanımlayıcısını (tıklama ID) cihaz tanımlayıcısına bağlayarak çalışır. Bir kullanıcı Branch bağlantısını tıkladığında, sistem benzersiz bir tanımlayıcı oluşturur ve bunu tarayıcıda veya sistem panosunda saklar. Yükleme ve ilk başlatmadan sonra, Branch SDK bu tanımlayıcıyı okur ve yüklemeyi tıklama kaynağına bağlar.
Branch, çeşitli modellere göre atıfı destekler. Son tıklama atfı, yüklemeden önceki son tıklama kaynağını neden olarak belirler. Çoklu dokunma atfı, belirtilen ağırlıklara göre yükleme değerini tüm kullanıcı temas noktaları arasında dağıtır. Platform, tıklama olmadan reklam gösterimleri için görüntüleme atfını da destekler.
Branch, Facebook Ads, Google Ads, TikTok Ads ve Snapchat dahil olmak üzere 50'den fazla reklam platformuyla entegredir. Her entegrasyon, maksimum doğruluk için reklam ağının yerel atıf mekanizmalarını kullanır. İlk SDK entegrasyonundan sonra uygulama kodu değiştirilmeden Branch Dashboard üzerinden yapılandırma yapılır.
Branch SDK'yı bir iOS uygulamasına entegre etmek, paketin CocoaPods, SPM veya Carthage aracılığıyla yüklenmesiyle başlar. Yüklemeden sonra, SDK'nın AppDelegate'in didFinishLaunchingWithOptions yönteminde Branch Dashboard'dan alınan uygulama anahtarıyla başlatılması gerekir. SDK, Branch alan adı için Universal Links'i otomatik olarak kaydeder.
Derin bağlantıların doğru çalışması için, Xcode Capabilities'de applinks:bnc.lt gibi bir girişle Associated Domains'in yapılandırılması gerekir. Branch, Universal Links'in belirli bir iOS sürümünde çalışmaması durumunda geri dönüş olarak URL Scheme'i de destekler. Gelen tüm bağlantıların işlenmesi, özel bir işleyici yazmaya gerek kalmadan SDK aracılığıyla otomatik olarak gerçekleşir.
Swift ile AppDelegate'te Branch SDK başlatma örneği. SDK, uygulama başlatıldığında bir oturum başlatır ve tüm derin bağlantıları otomatik olarak işler.
import BranchSDK
class AppDelegate: UIResponder,
UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions
launchOptions: [UIApplication
.LaunchOptionsKey: Any]?
) -> Bool {
Branch.getInstance()
.initSession(launchOptions: launchOptions)
return true
}
}
initSession yöntemi bir Branch oturumu başlatır ve otomatik olarak gelen bir derin bağlantı olup olmadığını kontrol eder. Sonuç, BranchDelegate veya bir tamamlama işleyicisi aracılığıyla işlenir. Branch SDK, bağlantının soğuk başlatmadan mı yoksa halihazırda çalışan bir uygulamadan mı açıldığını otomatik olarak belirler.
Android'de Branch entegrasyonu, build.gradle'a bağımlılık eklenmesi ve AndroidManifest.xml'de uygulama anahtarının belirtilmesiyle başlar. Branch, derin bağlantıları almak için Intent Filter kullanır; bu, derleme sırasında Gradle eklentisi aracılığıyla otomatik olarak eklenir. SDK ayrıca yüklemeden sonra yönlendirme verilerini almak için bir BroadcastReceiver kaydeder ve doğru kaynak atfı için Install Referrer API'sinin otomatik yönetimini destekler.
Google Play'den doğru yükleme atfı için Branch, Install Referrer API'sini kullanır; bu API, kullanıcı bir bağlantıyı tıklamamış olsa bile yükleme kaynağı hakkında bilgi sağlar. Google Play Services olmayan cihazlarda, bir yönlendirme BroadcastReceiver'ı kullanılır.
Derin bağlantıdan gelen verilerin işlenmesiyle Kotlin kullanarak MainActivity'de Branch SDK başlatma örneği.
class MainActivity : AppCompatActivity() {
override fun onStart() {
super.onStart()
Branch.getInstance()
.initSession { params, error ->
if (error == null) {
val data = params.optString(
"$deeplink_path", ""
)
navigateToScreen(data)
}
}
}
}
initSession yöntemindeki tamamlama işleyicisi, derin bağlantı parametreleri ve bir hata içeren bir JSONObject döndürür. $deeplink_path parametresi hedef yolu içerir, kalan parametreler Branch Dashboard'da bağlantı oluşturulurken tanımlanan isteğe bağlı bir formatta iletilir. Activity yeniden başlatıldığında ve başka bir uygulamadan geçiş yapıldığında doğru çalışma için işleme onStart'ta gerçekleştirilir.
Branch Dashboard, tüm önemli metriklerde görsel raporlar sağlar: bağlantı tıklamaları, yüklemeler, dönüşümler, gelir ve kullanıcı tutma. Veriler, CSV'ye aktarma ve API aracılığıyla harici analitik sistemleriyle entegre etme olanağıyla gerçek zamanlı olarak kullanılabilir.
Platform, uygulamanın SDK aracılığıyla Branch'e gönderdiği özel Etkinlikleri destekler. Her etkinlik, isteğe bağlı meta veriler içerebilir: satın alma tutarı, ürün kategorisi, kullanıcı seviyesi. Branch, etkinlikleri otomatik olarak yükleme kaynağına bağlayarak her pazarlama kanalının ROI'sini değerlendirmeye olanak tanır.
Branch Dashboard, birkaç önceden ayarlanmış rapor içerir — Summary, Sources, Cohorts ve Funnels. Summary, yüklemeler ve tıklamalarla ilgili genel bir tablo gösterir, Sources kanala göre detaylandırır, Cohorts günlere göre kullanıcı tutmayı izler ve Funnels belirtilen etkinliklere dayalı dönüşüm hunileri oluşturur. Tüm raporlar tarih, platform, ülke ve reklam kampanyasına göre filtrelemeyi destekler.
Daha ayrıntılı analiz için Branch, tıklama ve yükleme ham verilerini özel analitik sistemlerine aktarmaya olanak tanıyan Export API sağlar. API, zaman aralığına, etkinlik türüne ve kaynağa göre filtrelemeyi destekler. Dışa aktarma, webhook aracılığıyla otomatik dışa aktarma planlama özelliğiyle CSV ve JSON formatlarında kullanılabilir.
Branch Dashboard'daki Segment Builder, herhangi bir etkinlik ve öznitelik kümesine dayalı dinamik kullanıcı segmentleri oluşturmaya olanak tanır. Örneğin, uygulamayı belirli bir reklam kampanyasından yükleyen ve 7 gün içinde satın alma yapan kullanıcılardan oluşan bir segment oluşturulabilir. Segmentler gerçek zamanlı olarak güncellenir ve API aracılığıyla dışa aktarma veya entegrasyon için kullanılabilir. Branch ayrıca anonimleştirilmiş toplu dışa aktarmaları da destekler — reklam ağlarına göndermek ve hedeflemeyi optimize etmek için segmentlerin anonimleştirilmiş özetleri.
Sıkça Sorulan Sorular
Branch, aylık etkinlik sayısında sınırlaması olan ücretsiz bir plan sunar. Ticari kullanım için, genişletilmiş atıf, sınırsız etkinlik ve öncelikli destek ile ücretli planlar mevcuttur. Fiyatlar ayda 500 dolardan birkaç bin dolara kadar değişmektedir.
Temel fark, Branch'in derin bağlantı ve atfı tek bir SDK'da birleştirmesi, AppsFlyer'ın ise yalnızca atfa odaklanmasıdır. Branch ayrıca AppsFlyer'da bulunmayan Deepview ve Journeys'i de sağlar. Seçim, proje ihtiyaçlarına bağlıdır.
Evet, Branch React Native, Flutter, Unity, Cordova ve Xamarin için SDK'lar sağlar. Tüm çapraz platform SDK'lar, tam işlevsellik setini destekler: derin bağlantı, atıf, etkinlik analitiği ve Journeys.
Branch, iOS 14+'ta ATT'yi tam olarak destekler. SDK, standart diyalog aracılığıyla izleme izni ister. Kullanıcı reddederse, Branch IDFA olmadan atıf için SKAdNetwork kullanır ve kampanya düzeyinde doğruluğu korur.
Evet, Branch bağlantıları web tarayıcılarında doğru şekilde çalışır. Masaüstünde bağlantı belirtilen URL'yi açar; mobil cihazlarda uygulamayı veya bir geri dönüş sayfasını açar. Branch, SDK kurulumu olmadan web siteleri için Hızlı Bağlantılar'ı da destekler.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun