Branch.io یک پلتفرم تجاری deep linking و Attribution است که زیرساخت لینک یکپارچه برای اپلیکیشنهای موبایل در iOS و Android ارائه میدهد. بر اساس Branch Documentation، این پلتفرم چرخه کامل تعامل کاربر از کلیک روی لینک تا اقدام هدف در اپلیکیشن را ردیابی میکند. Deep linking در Branch.io روی همه پلتفرمها با پشتیبانی از deferred و Attribution نصبها کار میکند.
نکات اصلی
Branch.io پلتفرمی است که deep linking، Attribution نصب موبایل و تحلیل بازاریابی را در یک راهحل واحد ترکیب میکند. این پلتفرم به توسعهدهندگان و بازاریابان اجازه میدهد لینکهای هوشمندی ایجاد کنند که کاربر را بسته به پلتفرم، وضعیت نصب و سایر پارامترها به اپلیکیشن یا صفحه وب هدایت میکند. علاوه بر این، Branch به طور خودکار هر نصب را به منبع عبور مرتبط میکند.
این پلتفرم در سال 2014 تأسیس شد و یکی از رهبران بازار mobile measurement (MMP) در کنار AppsFlyer و Adjust است. مزیت اصلی Branch یکپارچگی کامل deep linking و Attribution در یک SDK است که نیاز به استفاده از راهحلهای جداگانه برای لینکها و تحلیل را از بین میبرد.
Firebase Dynamic Links یک سرویس رایگان با قابلیتهای پایه است، در حالی که Branch.io یک پلتفرم تجاری با Attribution پیشرفته است که بیش از 50 یکپارچهسازی با شبکههای تبلیغاتی را پشتیبانی میکند. Branch تحلیل سرتاسری هر تعامل کاربر را ارائه میدهد، از جمله Attribution بر اساس مدلهای last-click، first-click و multi-touch.
Branch.io مجموعه گستردهای از ابزارها برای کار با لینکهای موبایل ارائه میدهد. قابلیتهای اصلی شامل ایجاد Deepview — پیشنمایش محتوای اپلیکیشن در مرورگر وب قبل از نصب، تولید خودکار Universal Links برای iOS و App Links برای Android، و همچنین پشتیبانی از برنامههای معرف با پاداش است.
این پلتفرم همچنین از Journeys پشتیبانی میکند — سازنده بصری قیفهای تعامل که هنگام بازدید از سایت موبایل، بنری با پیشنهاد نصب اپلیکیشن به کاربر نشان میدهد. Journeys بدون برنامهنویسی از طریق رابط وب Branch قابل تنظیم است و از تست A/B کریتیوها پشتیبانی میکند.
| ویژگی | توضیحات | کاربرد |
|---|---|---|
| Deep Linking | لینکهای هوشمند با پشتیبانی deferred | عبور به محتوا |
| Attribution | Attribution نصبها و رویدادها | تحلیل بازاریابی |
| Journeys | بنرهای وب برای نصب | جذب کاربران |
| Deepview | پیشنمایش اپلیکیشن در مرورگر | نمایش محتوا |
| Segments | بخشبندی کاربران | شخصیسازی |
Attribution نصبها در Branch بر اساس پیوند شناسه عبور (click ID) با شناسه دستگاه هنگام اولین راهاندازی اپلیکیشن کار میکند. وقتی کاربر روی لینک Branch کلیک میکند، سیستم یک شناسه یکتا تولید کرده و آن را در مرورگر یا کلیپبورد سیستم ذخیره میکند. پس از نصب و اولین راهاندازی، SDK Branch این شناسه را میخواند و نصب را به منبع عبور مرتبط میکند.
Branch از Attribution بر اساس مدلهای مختلف پشتیبانی میکند. Last-click attribution آخرین منبع عبور قبل از نصب را به عنوان علت تعیین میکند. Multi-touch attribution ارزش نصب را بین تمام تعاملات کاربر بر اساس وزنهای تعیینشده توزیع میکند. این پلتفرم همچنین از view-through attribution برای نمایش تبلیغات بدون کلیک پشتیبانی میکند.
Branch با بیش از 50 پلتفرم تبلیغاتی از جمله Facebook Ads، Google Ads، TikTok Ads و Snapchat یکپارچه میشود. هر یکپارچهسازی برای حداکثر دقت از مکانیزمهای Attribution بومی شبکه تبلیغاتی استفاده میکند. تنظیمات از طریق Dashboard Branch و بدون نیاز به تغییر کد اپلیکیشن پس از یکپارچهسازی اولیه SDK انجام میشود.
یکپارچهسازی Branch SDK در اپلیکیشن iOS با نصب بسته از طریق CocoaPods، SPM یا Carthage آغاز میشود. پس از نصب، باید SDK را با کلید اپلیکیشن از Dashboard Branch در متد 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 هنگام شروع اپلیکیشن یک session راهاندازی کرده و به طور خودکار تمام 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 session Branch را راهاندازی کرده و به طور خودکار وجود deep link ورودی را بررسی میکند. نتیجه از طریق delegate BranchDelegate یا completion handler پردازش میشود. Branch SDK به طور مستقل تعیین میکند که آیا لینک از cold start یا از اپلیکیشن در حال اجرا باز شده است.
در Android، یکپارچهسازی Branch با افزودن وابستگی در build.gradle و مشخص کردن کلید اپلیکیشن در AndroidManifest.xml آغاز میشود. Branch از Intent Filter برای دریافت deep link استفاده میکند که به طور خودکار از طریق پلاگین Gradle هنگام کامپایل اضافه میشود. SDK همچنین BroadcastReceiver را برای دریافت دادههای معرف پس از نصب ثبت کرده و از پردازش خودکار Install Referrer API برای Attribution دقیق منبع پشتیبانی میکند.
برای Attribution صحیح نصبها از 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 حاوی مسیر هدف است و سایر پارامترها در قالب دلخواه مشخصشده هنگام ایجاد لینک در Dashboard Branch منتقل میشوند. پردازش در onStart برای عملکرد صحیح در restart Activity و هنگام عبور از اپلیکیشن دیگر انجام میشود.
Branch Dashboard گزارشهای تصویری از تمام معیارهای کلیدی ارائه میدهد: تعداد کلیکهای لینک، نصبها، تبدیلها، درآمد و نگهداشت. دادهها به صورت بلادرنگ با قابلیت خروجی به CSV و یکپارچهسازی با سیستمهای تحلیل خارجی از طریق API در دسترس هستند.
این پلتفرم از پیکربندی Events — رویدادهای سفارشی که اپلیکیشن از طریق SDK به Branch ارسال میکند، پشتیبانی میکند. هر رویداد میتواند حاوی متادیتای دلخواه باشد: هزینه خرید، دسته محصول، سطح کاربر. 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 یک تعرفه رایگان با محدودیت در تعداد رویدادها در ماه ارائه میدهد. برای استفاده تجاری، برنامههای پولی با Attribution گسترده، تعداد رویداد نامحدود و پشتیبانی اولویتدار در دسترس هستند. قیمتها از 500 دلار تا چند هزار دلار در ماه متغیر است.
تفاوت اصلی این است که Branch deep linking و Attribution را در یک SDK ترکیب میکند، در حالی که AppsFlyer فقط بر Attribution تمرکز دارد. Branch همچنین Deepview و Journeys را ارائه میدهد که در AppsFlyer وجود ندارند. انتخاب به نیازهای پروژه بستگی دارد.
بله، Branch SDK برای React Native، Flutter، Unity، Cordova و Xamarin ارائه میدهد. همه SDKهای کراس پلتفرم از قابلیت کامل پشتیبانی میکنند: deep linking، Attribution، تحلیل رویداد و Journeys.
Branch به طور کامل از ATT در iOS 14+ پشتیبانی میکند. SDK از طریق دیالوگ استاندارد اجازه ردیابی را درخواست میکند. اگر کاربر رد کند، Branch از SKAdNetwork برای Attribution بدون IDFA استفاده میکند و دقت را در سطح کمپین حفظ میکند.
بله، لینکهای Branch در مرورگرهای وب به درستی کار میکنند. در دسکتاپ، لینک URL مشخص را باز میکند، در دستگاههای موبایل — اپلیکیشن یا صفحه fallback. Branch همچنین از Quick Links برای وبسایتها بدون نصب SDK پشتیبانی میکند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید