Create Deep Links

概述

您可以在旅程中使用深层链接,通用广告链接,快速链接和通用电子邮件。在本指南中,我们将引导您逐步了解如何配置默认和自定义链接行为,以及如何创建短链接和长链接。

默认链接行为

您的应用尚未安装

  • 用户clicks Branch深度链接

  • 设备navigatesfallback (例如,应用商店或网站)

  • 用户installsopens 您的应用

  • Branch深度链接data 传递到您的应用中

您的应用已安装

  • 用户clicks Branch深度链接

  • 设备opens 您的应用程序或导航到预期的链接行为

  • Branch深度链接data 传递到您的应用中

预期的链接行为

  • 预期的链接行为取决于应用程序是否支持深度链接

  • *Able to force app open 使用$uri_redirect_mode或启用Deepview

平台

iOS

安卓

Facebook Newsfeed

倒退;能够通过Facebook App链接进行深层链接

应用程序

Facebook浏览器

应用程序

应用程序

Facebook Messenger

倒退;能够通过Facebook App链接进行深层链接

应用程序

Facebook Messenger Browser

应用程序

应用程序

Instagram个人资料

倒退;能够强制使用打开应用 $uri_redirect_mode=2

应用程序

Instagram浏览器

应用程序

应用程序

Instagram的Stories

倒退;能够强制打开应用

应用程序

Twitter的Feed

倒退;能够强制打开应用。具有$ios_url$fallback_url 重定向后备链接的链接需要 Web SDK 2.48.0+网站上的 init

应用程序

Twitter浏览器

应用程序

应用程序

Snap Messages

应用程序

应用程序

Snap Stories

倒退; 查看关于在故事中使用分支的自定义说明

应用程序

Reddit

倒退;需要在链接中使用$use_https_app_storetrue 才能回退到App Store

fallback

Pinterest

fallback

fallback

Pinterest浏览器

应用程序

应用程序

Google+

倒退; App Store重定向将不起作用

fallback

Chrome浏览器

应用程序

应用程序

Chrome地址栏

fallback

倒退;深度链接数据不会传递到应用中

Safari浏览器

应用程序

不适用

Safari地址栏

倒退; 被Apple封锁

不适用

Firefox浏览器

fallback

应用程序

Firefox地址栏

fallback

应用程序

UC浏览器

不适用

应用程序

Naver浏览器

不适用

应用程序

Kakao浏览器

不适用

应用程序

Opera浏览器

应用程序

应用程序

幽灵浏览器

应用程序

倒退;查询字符串必须进行编码($ =%24)

Google Hangouts

倒退;能够强制打开应用

应用程序

三星短信

不适用

应用程序

三星短信浏览器

不适用

应用程序

苹果iMessage

应用程序

不适用

苹果商务聊天

应用程序

不适用

Slack

应用程式;必须配置Slack才能打开与Safari的链接

应用程序

微信

倒退;自定义微信后备网址

倒退;自定义微信后备网址

WhatsApp的

应用程式; app.link 要求https / http是可单击的

应用程式; app.link 要求https / http是可单击的

LINE

倒退;能够强制打开应用

应用程序

Discord

应用程序

应用程序

苹果邮件

应用程序

不适用

Gmail邮箱

应用程序

应用程序

雅虎邮箱

倒退;能够强制打开应用

应用程序

自定义链接行为

将数据从链接传递到应用

  • 链接数据添加到每个深度链接接

  • 将键值对添加到您的快速链接

  • 附加Query String请求参数 https://example.app.link/fzmLEhobLD?$custom_data=123&hello=world

退回到特定网址

  • 确定深度链接接将导航到的位置

    • 您的应用尚未安装

    • [或] 另一个应用程序阻止其他应用程序进行深度链接

  • Fallback替代值 (按优先级排序)

    • 添加Query String请求参数 https://example.app.link?$ios_url=https://example.com
    • 添加链接数据$ios_url = 'https://example.com'文档
    • 为深层视图添加链接数据$ios_deepview = 'deepviewId'文档
    • Branch Dashboard上全局启用Deep View
    • 添加链接数据$fallback_url = 'https://example.com'文档
    • Branch Dashboard上加上iOS/Android Custom URL
    • Branch Dashboard上加上Default URL ($fallback_url)

打开Web网页而不是应用

  • 您的应用尚未安装
    • 设备navigatesfallback (例如,应用商店或网站)
  • 您的应用已安装
    • iOS: 需要覆盖Universal Links
      • 添加$web_only = true文档
      • 添加重定向$ios_url = 'https://google.com'文档
      • [或] /e/ 附加到深度链接接
        • 例如https://example.app.link/fzmLEhobLD - > https://example.app.link/e/fzmLEhobLD
    • Android: 需要覆盖App Links
      • 取消选中Enable App Links ,然后在Branch Dashboard上打Save
      • 添加重定向$android_url = 'https://google.com'文档
      • 添加带有$android_deeplink_path = 'random' docs )的损坏的URI Scheme

社交链接行为

UTM行为

❗️

默认启用

要禁用此功能,请转到Link Settings -> Advance Settings -> Analytics mapping with UTM

图像图像

  • 重定向到Web URL时,Branch自动将以下Branch Link分析标记中的任何值作为UTM参数传递:
    • ~campaign -> utm_campaign
    • ~channel -> utm_source
    • ~feature -> utm_medium
  • 这适用于使用以下任一所定义的网页的URL $fallback_url$ios_url$android_url$desktop_url$original_url ,和$canonical_url
  • 如果在重定向到的URL上已经检测到这些UTM参数,Branch将不会覆盖它们。
  • 有关UTM参数的更多信息,请阅读Google Analytic ' s 自定义广告系列文章。

创建深度链接接

短链接

  • 短链接是最常见的深度链接接
  • 您可以自定义example.app.link的子域,或更改为自己的个人域( links.yoursite.com
  • 您可以在创建过程中将短代码的外观定制为自定义alias
    • 别名可以是短字符串,例如 https://example.app.link/october-sale
    • 或者可以是完整的链接路径,例如 https://example.app.link/product/id1234
  • 短链接在链接创建时将链接数据封装在其中
    • 例如现有链接 https://example.app.link/fzmLEhobLD
  • 短链接可以附加其他数据
    • 例如动态链接 https://example.app.link/fzmLEhobLD?content_id=123
  • 创建短链接的方法
    • 使用快速链接进行快速链接创建和轻松跟踪
    • 使用我们的App SDK在您的应用程序内创建和共享链接
    • 使用我们的Web SDK 来创建有助于将您的网络用户转换为应用程序用户的链接
    • 使用我们的HTTP API 以编程方式从您的服务器创建链接
    • 使用我们的 Chrome扩展程序从您的浏览器生成链接

长链接

  • 无需网络调用Branch服务即可创建长链接
  • 长链接需要将链接数据添加为Quey String请求参数。确保对链接中的所有url进行URI编码。
    • 例如现有链接 https://example.app.link/fzmLEhobLD?foo=bar&baz=456&$fallback_url=https%3A%2F%2Fbranch.io%2F
    • 例如动态链接 https://example.app.link/?foo=bar&baz=456&$fallback_url=https%3A%2F%2Fbranch.io%2F
  • 长链接需要使用/a/分支键(如果使用custom link domain
    • 例如现有链接 https://link.example.com/5NPh/p4M09KRLrD?foo=bar&baz=456&$fallback_url=https%3A%2F%2Fbranch.io%2F
    • 例如动态链接 https://link.example.com/a/key_live_kaFuWw8WvY7yn1d9yYiP8gokwqjV0Swt?foo=bar&baz=456&$fallback_url=https%3A%2F%2Fbranch.io%2F
  • 长链接需要使用/a/分支键(如果使用bnc.lt
    • 例如现有链接 https://bnc.lt/5NPh/p4M09KRLrD?foo=bar&baz=456&$fallback_url=https%3A%2F%2Fbranch.io%2F
    • 例如动态链接 https://bnc.lt/a/key_live_kaFuWw8WvY7yn1d9yYiP8gokwqjV0Swt?foo=bar&baz=456&$fallback_url=https%3A%2F%2Fbranch.io%2F
  • tags 添加到动态链接时,请分别输入每个标签

配置深度链接接

您可以'随意将自己的任何键值参数添加到“Beanch”链接。这些参数将通过Branch SDK传递到您的应用程序,但是某些键会有特定的额外效果。

保留的前缀

  • Branch将其他属性添加到您的深度链接接数据中以解释链接
字首用途
$Branch保留关键字
~Branch分析数据
+Branch其他保留字

分析标签

  • 这些标签可让您过滤和分組深度链接
Key默认用途
~channel使用频道标记链接到达用户的路线。例如,标记带有'Facebook''LinkedIn' 链接可帮助分别跟踪点击和通过这些路径的安装
~feature这是链接可能与您的应用程序相关的功能。例如,推荐,则可以使用功能'推荐'标记链接。
~campaign使用此字段可以按实际活动组织链接。例如,如果您启动了一项新功能或产品,并希望围绕该功能或产品进行广告系列
~campaign_id使用此字段可以按实际的广告系列ID来组织链接。例如,如果您启动了新功能或产品,并希望围绕该功能或产品进行广告系列
~customer_campaign为最后一次归因触摸指定的客户活动。可以由客户端在链接上指定。
~stage生成链接时,可使用此选项对用户的进度或类别进行分类。例如,如果您具有在1级,3级和5级上可访问的邀请系统,则可以使用此参数来区分在每个级别上生成的链接
~tags这是一个自由格式的条目,具有无限值['string'] 。用它来组织链接数据,其中的标签不符合上述范围' t
~secondary_publisher为最后一次归因触摸指定的次要发布者。由广告网络传递。
~customer_secondary_publisher为上一次归因的触摸指定的辅助发布者的ID。可以由客户端在链接上指定。
~creative_name为最后一次归因触摸指定的广告素材名称。
~creative_id为最后一次归因的触摸指定的广告素材ID。
~ad_set_name为最后一次归因触摸指定的广告集名称。
~ad_set_id为最后一次归因的触摸指定的广告集ID。
~customer_ad_set_nameT为最后一次归因触摸指定的客户广告集名称。可以由客户端在链接上指定。
~ad_name为最后一次归因触摸指定的广告名称。
~ad_id为最后一次归因的触摸指定的广告ID。
~customer_ad_name为上一次归因触摸指定的客户广告名称。可以由客户端在链接上指定。
~keyword为最后一次归属触摸指定的关键字。
~keyword_id最后一次触摸的关键字的唯一ID
~customer_keyword最后一次触摸的客户关键字。可以由客户端在链接上指定。
~placement上次触摸的位置,由Analytics标签设置。广告在实际的应用或网站上展示。
~placement_id上次触摸的放置ID,由Analytics标签设置。广告在实际的应用或网站上展示。
~customer_placement客户指定了最后触摸的位置,并通过分析标签进行了设置。广告在实际的应用或网站上展示。可以由客户端在链接上指定。
~sub_site_name对显示广告的网站的引用。
~customer_sub_site_name客户对显示广告的网站的引用。可以由客户端在链接上指定。
  • 这些标签可让您自定义单个链接的归因窗口
Key默认用途
$click_install_window_days7从点击或网络到应用自动重定向到安装或重新安装之间的时间。 (即 https://branchster.app.link/hpNVE52gxE?$click_install_window_days=3
$click_session_start_window_days1从点击或网络到应用自动重定向到开始打开或网络会话之间的时间。 (即 https://branchster.app.link/hpNVE52gxE?$click_session_start_window_days=7
$click_conversion_window_days30从点击或网络到应用自动重定向到转化事件之间的时间。转化事件包括商务事件(例如购买,添加到购物车),所有自定义事件以及所有视图事件,例如综合浏览量&内容视图。 (即 https://branchster.app.link/hpNVE52gxE?$click_session_start_window_days=30
$impression_install_window_days1从广告展示到安装或重新安装之间的时间。 (即 https://branchster.app.link/hpNVE52gxE?$impression_install_window_days=3
$impression_session_start_window_days1从广告展示到开始公开会话或网络会话之间的时间。 (即 https://branchster.app.link/hpNVE52gxE?$impression_session_start_window_days=1
$impression_conversion_window_days7从广告展示到转化事件之间的时间。转化事件包括商务事件(例如购买,添加到购物车),所有自定义事件以及所有视图事件,例如综合浏览量&内容视图。 (即 https://branchster.app.link/hpNVE52gxE?$impression_session_start_window_days=7

自订资料

  • 传递任何自定义数据以在您的应用程序内部读取
Key用途
random123任何键值对
custom_datatrue任何键值对
any_value{ 'random': 'dictionary' }任何键值对
look_at[1,2,3,4,5,6]任何键值对
nav_herecontent/123任何键值对

重新导向

  • 根据设备信息导航到其他位置
  • 导航网址必须是网站,而不是深度链接接
Key默认用途
$fallback_url更改所有平台的重定向端点-因此您不必'逐平台启用它。需要注意的是分公司将所有机器人转发到这个URL,其中重写任何OG标签中的链接进入。系统范围的默认URL(在“链接设置”中设置)
$fallback_url_xx根据小写的Alpha-2国家代码更改所有平台的重定向端点。例如, $fallback_url_de="..."将重定向德国深层链接点击。除了特定于国家/地区的重定向,还应该设置$fallback_url作为全局重定向。警告:设置了平台特定的重定向(例如$ ios_url或$ desktop_url),它们将覆盖国家/地区特定的重定向。因此,建议仅将$ fallback_url_xx用于特定国家/地区的重定向,而$ fallback_url捕获所有其他用户。
$desktop_url更改桌面上的“我的应用程序”页面上的重定向终结点(在“链接设置”中设置)
$ios_url更改您的应用程序的“ iOS App Store”页面的重定向终结点(在“链接设置”中设置)
$ipad_url更改iPad $ios_url 的重定向端点
$android_url更改您应用的Android Play商店页面的重定向端点(在“链接设置”中设置)
$samsung_url重定向到Samsung设备上的Samsung Galaxy Store。仅链接级别控制。格式应为 http://www.samsungapps.com/appquery/appDetail.as?appId=YOUR.PACKAGE.NAME
$windows_phone_url更改Windows操作系统Windows Phone默认URL的重定向终结点(在“链接设置”中设置)
$blackberry_url更改Blackberry OS BlackBerry默认URL的重定向终结点(在“链接设置”中设置)
$fire_url更改Amazon Fire OS Fire默认URL的重定向终端节点(在“链接设置”中设置)
$ios_wechat_url更改iOS设备上微信的重定向终结点$ios_url
$android_wechat_url更改Android设备上微信的重定向终结点$android_url
$web_onlyfalse强制打开$fallback_url 而不是应用程序

强制重定向

  • 点击Branch深链接时,防止其他应用发出错误消息
Key用途
$uri_redirect_mode0这是产生标准行为的默认值,在该行为下,如果用户看到错误,我们将不尝试打开应用程序' 。
$uri_redirect_mode1智能重定向模式。直到我们知道用户通过Branch角色数据安装了应用程序后,行为与0相同。在这种情况下,强制使用URI方案打开应用程序。
$uri_redirect_mode2强制重定向模式。始终尝试强制打开应用程序,即使未安装应用程序时可能会显示错误消息
  • 支持的应用程式
    • Facebook Newsfeed iOS
    • Instagram iOS
    • Twitter的iOS
    • Safari iOS
    • Firefox iOS & Android

深度链接

  • 根据设备信息导航到其他位置
Key默认用途
$deeplink_pathopen?link_click_id=1234为所有平台设置深度链接接路径. 当Branch SDK收到带有此参数集的链接时,它将自动加载包含在其中的自定义URI路径
$android_deeplink_path设置Android应用的深度链接接路径。当Branch SDK收到带有此参数集的链接时,它将自动加载其中包含的自定义Android URI路径
$ios_deeplink_path设置iOS应用的深度链接接路径。当Branch SDK收到带有此参数集的链接时,它将自动加载其中包含的自定义iOS URI路径
$desktop_deeplink_path设置桌面应用程序的深度链接接路径。您将必须获取此参数并相应地路由用户
$match_duration7200可让您控制快照匹配超时(点击等待应用打开匹配的时间),也称为归因窗口。以秒为单位
$always_deeplinktrue设置为false 可使链接始终回退到您的移动网站。不适用于通用链接或Android应用链接。
$ios_redirect_timeout750控制客户端JS在尝试打开应用程序后重定向到App Store之前等待的超时。以毫秒为单位
$android_redirect_timeout750控制客户端JS在尝试打开应用程序后重定向到Play商店之前等待的超时。以毫秒为单位
$custom_sms_text发送给SMS链接的文本,供桌面点击此链接。 “设置”中的应用页面必须包含{{ link }} “ Text me me”值
$marketing_title设置深层链接的营销标题。
$deeplink_no_attribution设置为true 的链接仅支持深度链接接,而对该链接没有任何归属。

Content

  • 处理内容属性
Key默认用途
$publicly_indexable1无法在此处修改。需要由“Branch通用对象”设置
~keyword应该为其寻找内容的关键字
$canonical_identifier这是内容的唯一标识符,可帮助Branch在同一事物的许多实例之间进行重复数据删除。合适的选项:具有路径的网站或具有实体标识符的数据库
$content_type这是存在的内容类型的标签。 Apple建议您按照此处所述使用统一类型标识符
$do_not_processfalse这将阻止点击跟踪和链接分析的存储。从点击链接到打开应用程序,深度链接接数据仍将流入应用程序。

深景

Key默认用途
$ios_deepviewbranch_default用于iOS的Deepview模板的名称
$android_deepviewbranch_default用于Android的Deepview模板的名称
$desktop_deepviewbranch_default用于桌面的Deepview模板的名称
Key默认
$ios_passive_deepview用于iOS的模板的名称。branch_default
$android_passive_deepview用于Android的模板的名称。branch_default

链接外观

  • 自定义您的短链接的外观
Key默认用途
alias指定一个链接别名来取代标准编码的短URL(例如https://example.app.link/aQXXDHaxKF - > https://example.app.link/october-campaignhttps://example.app.link/product/id1234 )。每个应用程序的链接别名必须唯一(如果您创建已使用的别名,则别名为409 error )。另外请注意,我们不'吨当前域(后支持单字符路径段/a//b//c/ ,等等)。

打开图

  • 处理Facebook属性
Key默认用途
$og_title在仪表板上设置设置链接的标题,以使其在社交媒体显示中看到
$og_description在仪表板上设置设置链接的描述,以便在社交媒体显示中看到
$og_image_url在仪表板上设置设置链接的图像,使其在社交媒体显示中看到
$og_image_width为社交媒体显示设置图像的' s宽度(以像素为单位)
$og_image_height设置图像' s的高度(以像素为单位)以用于社交媒体显示
$og_video设置视频,使其在社交媒体显示中看到
$og_url设置链接的基本URL,因为它将在社交媒体显示中看到
$og_type设置自定义卡格式链接的类型,因为它将在社交媒体显示中看到。在Facebook上共享深度链接接时,不要设置此属性
$og_redirect(高级,不建议使用)设置自定义URL,我们将社交媒体机器人重定向到该URL,以便检索所有适当的标签
$og_app_id在仪表板上设置(很少使用)设置应用程序ID标签

Twitter

  • 处理Twitter属性
Key默认用途
$twitter_card设置链接的Twitter卡类型(例如player )(您必须使用 Twitter Card Validator 将深度链接接白名单
$twitter_title在仪表板上设置设置Twitter卡的标题
$twitter_description在仪表板上设置设置Twitter卡的描述
$twitter_image_url在仪表板上设置设置Twitter卡的图片网址
$twitter_site设置Twitter网站
$twitter_app_country设置应用卡的应用国家/地区
$twitter_player设置视频播放器'的URL。默认值为$og_video
$twitter_player_width设置播放器'的宽度(以像素为单位)
$twitter_player_height设置播放器'的高度(以像素为单位)

其他保留键

Key默认用途
data由Branch使用,以包含顶级链接信息。如果通过附加查询参数将此参数添加到“Branch”链接,则它将被删除。通过仪表板手动创建链接时,可以安全地使用它。

自定义标签

  • 处理自定义元标记
Key
$custom_meta_tags标签的键和值的有效字符串化JSON字典
  • Valid dictionary example: "{"twitter:player:stream": "https://branch.io\"}". This will result in the following meta tag: <meta property="twitter:player:stream" content="https://branch.io" />
  • 如果您通过仪表板创建链接,则不必担心将字典字符串化。它将自动完成。
  • apple_touch_icon是词典中的特殊键。如果您进行了设置,我们将在抓取的HTML页面上添加一个<link rel="apple-touch-icon" href="<url>" /> 标签。这将允许您在iMessage,Safari书签,Slack等中显示用于预览的自定义图标。

通用物体

  • 应用程序集成中分支通用对象的属性
Key默认用途链接属性
canonicalIdentifier (必需) 这是内容的唯一标识符,将帮助Branch在同一事物的许多实例之间进行重复数据删除。合适的选项:具有路径的网站或具有实体标识符的数据库$canonical_identifier
canonicalUrl规范网址,用于SEO$canonical_url
title内容的名称$og_title
contentDescription内容说明$og_description
contentImageUrl内容的图片网址。必须是绝对路径$og_image_url
price商品价格$amount
currency表示价格的货币,采用ISO 4217货币代码$currency
contentIndexingMode"public"可以设置为"public""private" 。公开表示您'希望此内容被其他应用发现。$publicly_indexable
contentMetadata任何自定义键值数据,例如 { "custom": "data" }

BUO最佳做法

    • 跨应用实例将canonicalIdentifier 设置为唯一的重复数据消除值
    • 确保titlecontentDescriptionimageUrl 适当地表示对象
    • 初始化Branch通用对象,并在页面加载时使用VIEW_ITEM 事件调用logEvent
    • 当用户执行需要链接的操作时,请在生命周期的后期调用showShareSheet和createShortLink。
    • 当采取相应的用户操作时,调用其他对象事件(购买,共享完成等)
  • 不要
    • 设置相同的titlecontentDescriptionimageUrl 在所有对象
    • 等待初始化对象并注册视图,直到用户共享
    • 等待初始化对象,直到方便地需要链接为止
    • 一次创建多个对象,并在for 循环中注册视图。

阅读深度链接接

  • 深层链接数据从链接发送到应用程序集成

数据结构

  • 示例深度链接接数据结构
{
          "identity_id": "427469360685348303",
          "link": "https://example.app.link?%24identity_id=427469360685348303",
          "session_id": "429691081177874743",
          "data": {
            "$canonical_identifier": "item/1503684554354.28",
            "$canonical_url": "https://example.com/home?utm_campaign=test&deeplink=value",
            "$desktop_url": "http://example.com/home",
            "$identity_id": "427469360685348303",
            "$og_description": "My Content Description",
            "$og_image_url": "http://lorempixel.com/200/200/",
            "$og_title": "46D6D28E-0390-40E4-A856-BD74F34D24C8",
            "$publicly_indexable": 1,
            "+click_timestamp": 1503684563,
            "+clicked_branch_link": true,
            "+is_first_session": false,
            "+match_guaranteed": true,
            "custom": "blue",
            "random": "FE848A5B-78F7-42EC-A253-9F795FE91692",
            "added": "1503684554354.33",
            "~campaign": "new launch",
            "~channel": "facebook",
            "~creation_source": 3,
            "~feature": "sharing",
            "~id": 429691043152332059,
            "~referring_link": "https://example.app.link/X7OsnWv9TF",
            "~stage": "new person",
            "~tags": [
              "one",
              "two"
            ]
          }
        }

回调值

  • 其他属性从您的应用程序中的initSession网站集成中读取

Key

用途

~id

自动生成驱动安装/打开的链接的18位ID号(如果存在)(对于动态和3P链接为0)

~referring_link

驱动安装/打开的引荐链接(如果有)

~creation_source

创建链接的位置( 0 API, 1 快速链接, 2 SDK, 3 iOS SDK, 4 Android SDK, 5 Web SDK, 6 动态, 7 第三方)

+match_guaranteed

如果以100%的准确度进行匹配

+referrer

点击链接的引荐来源网址(如果点击了链接)

+is_first_session

true 如果是第一个会话(安装),则为false 如果有其他会话(打开))。

默认值为false

+clicked_branch_link

用户是否单击触发此会话的“分支”链接。

默认值为false

+non_branch_link

应用是通过非分支链接(第三方,无效的分支深度链接或分支密钥不匹配)打开的。

更新28 天前



Create Deep Links


建议的编辑仅限于API参考页

您只能建议对Markdown正文内容进行修改,而不能建议对API规范进行修改。