Branch.io是一个商业深度链接和归因平台,为iOS和Android上的移动应用程序提供统一的链接基础设施。根据Branch Documentation,该平台跟踪用户从点击链接到应用内目标操作的完整交互周期。Branch.io中的深度链接在所有平台上运行,支持延迟深度链接和安装归因。
要点
Branch.io是一个将深度链接、移动安装归因和营销分析结合在一个统一解决方案中的平台。它允许开发人员和营销人员创建智能链接,根据平台、安装状态和其他参数将用户引导到应用程序或网页。此外,Branch会自动将每次安装与跳转来源关联起来。
该平台成立于2014年,与AppsFlyer和Adjust一起是移动测量(MMP)市场的领导者之一。Branch的主要优势是将深度链接和归因完全集成在一个SDK中,从而无需使用单独的链接和分析解决方案。
Firebase Dynamic Links是一个具有基本功能的免费服务,而Branch.io是一个商业平台,具有先进的归因功能,支持超过50个广告网络的集成。Branch为用户的每次交互提供端到端分析,包括基于last-click、first-click和multi-touch模型的归因。
Branch.io提供了一套广泛的工具来处理移动链接。主要功能包括创建Deepview — 在安装前在网络浏览器中预览应用内容,自动生成iOS的Universal Links和Android的App Links,以及支持带奖励的推荐计划。
该平台还支持Journeys — 一个视觉化的参与漏斗构建器,在用户访问移动网站时显示带有安装应用建议的横幅。Journeys无需编程即可通过Branch的网页界面进行配置,并支持素材的A/B测试。
| 功能 | 描述 | 应用 |
|---|---|---|
| Deep Linking | 支持延迟深度链接的智能链接 | 跳转到内容 |
| Attribution | 安装和事件归因 | 营销分析 |
| Journeys | 用于安装的网页横幅 | 吸引用户 |
| Deepview | 在浏览器中预览应用 | 展示内容 |
| Segments | 用户细分 | 个性化 |
Branch中的安装归因基于在首次启动应用时将跳转标识符(click ID)与设备标识符相关联。当用户点击Branch链接时,系统会生成一个唯一标识符并将其保存在浏览器或系统剪贴板中。安装并首次启动后,Branch SDK会读取此标识符并将安装与跳转来源关联起来。
Branch支持基于不同模型的归因。Last-click归因将安装前的最后一个跳转来源确定为原因。Multi-touch归因根据设定的权重在用户的所有交互之间分配安装价值。该平台还支持无需点击的广告展示的浏览归因。
Branch与50多个广告平台集成,包括Facebook Ads、Google Ads、TikTok Ads和Snapchat。每个集成都使用广告网络的原生归因机制以获得最大精度。配置通过Branch Dashboard完成,在SDK初始集成后无需修改应用程序代码。
在iOS应用中集成Branch SDK首先通过CocoaPods、SPM或Carthage安装包。安装后,需要在AppDelegate的didFinishLaunchingWithOptions方法中使用Branch Dashboard的应用密钥初始化SDK。SDK会自动为Branch域注册Universal Links。
为了深度链接的正确工作,需要在Xcode Capabilities中使用applinks:bnc.lt记录配置Associated Domains。Branch还支持URL Scheme作为Universal Links在特定iOS版本中不起作用时的后备方案。所有传入链接的处理通过SDK自动完成,无需编写自己的处理程序。
在Swift中AppDelegate初始化Branch SDK的示例。SDK在应用启动时启动会话并自动处理所有深度链接。
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会话并自动检查是否存在传入的深度链接。结果通过BranchDelegate委托或completion handler处理。Branch SDK独立确定链接是从冷启动还是从已在运行的应用中打开的。
在Android中,Branch集成从在build.gradle中添加依赖并在AndroidManifest.xml中指定应用密钥开始。Branch使用Intent Filter来接收深度链接,该过滤器在编译时通过Gradle插件自动添加。SDK还会注册一个BroadcastReceiver以在安装后接收推荐数据,并支持自动处理Install Referrer API以实现精确的源归因。
为了正确归因来自Google Play的安装,Branch使用Install Referrer API,即使未点击链接也能提供安装来源信息。在没有Google Play Services的设备上,使用推荐BroadcastReceiver。
在Kotlin中MainActivity初始化Branch SDK并处理来自深度链接的传入数据的示例。
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方法中的completion handler返回一个包含深度链接参数和错误的JSONObject。$deeplink_path参数包含目标路径,其他参数以在Branch Dashboard中创建链接时设定的任意格式传递。处理在onStart中执行,以确保在Activity重启和从其他应用跳转时正常工作。
Branch Dashboard提供所有关键指标的可视化报告:链接点击次数、安装量、转化率、收入和留存率。数据实时可用,可导出为CSV并通过API与外部分析系统集成。
该平台支持配置Events — 应用通过SDK发送给Branch的自定义事件。每个事件可以包含任意元数据:购买成本、产品类别、用户级别。Branch自动将事件与安装来源关联,从而评估每个营销渠道的投资回报率。
Branch Dashboard包含多个预设报告 — Summary、Sources、Cohorts和Funnels。Summary显示安装和跳转的总体情况,Sources按渠道详细说明,Cohorts按天跟踪用户留存率,Funnels根据指定事件构建转化漏斗。所有报告支持按日期、平台、国家和广告系列进行筛选。
为了更详细的分析,Branch提供Export API,允许将有关跳转和安装的原始数据导出到自己的分析系统。API支持按时间范围、事件类型和来源进行筛选。导出提供CSV和JSON格式,并支持通过webhook进行定期自动导出。
Branch Dashboard中的Segment Builder允许基于任何事件和属性集创建动态用户细分。例如,可以创建从特定广告系列安装应用并在7天内完成购买的用户细分。细分实时更新,并可导出或通过API集成。Branch还支持匿名聚合导出 — 按细分的匿名汇总数据,用于发送到广告网络和优化定向。
常见问题
Branch提供免费套餐,每月事件数量有限制。对于商业使用,提供付费计划,具有扩展的归因、无限事件数和优先支持。价格从每月500美元到几千美元不等。
主要区别 — Branch将深度链接和归因结合在一个SDK中,而AppsFlyer只关注归因。Branch还提供AppsFlyer中缺失的Deepview和Journeys。选择取决于项目的需求。
是的,Branch为React Native、Flutter、Unity、Cordova和Xamarin提供SDK。所有跨平台SDK都支持完整功能:深度链接、归因、事件分析和Journeys。
Branch完全支持iOS 14+上的ATT。SDK通过标准对话框请求跟踪权限。如果用户拒绝,Branch使用SKAdNetwork进行无IDFA的归因,保持广告系列级别的准确性。
是的,Branch链接在网络浏览器中正常工作。在桌面上,链接打开指定的URL,在移动设备上 — 打开应用或后备页面。Branch还支持无需安装SDK的网站的Quick Links。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。