网络完整参考

使用示例Web应用

我们提供了一个示例网页应用,演示了 Branch Metrics Web SDK 可以做什么。在线版本可以在 https://cdn.branch.io/example.html 上找到。或者,您可以在本地打开example.html以达到相同的效果。

要修改此本地Web应用程序,请首先编辑src/web/example.template.html ,然后运行make ,它将自动更新example.html 。避免手动编辑example.html

要求

该SDK需要本地浏览器Javascript,并且已经在所有具有sessionStorage功能的现代浏览器中进行了测试。无需第三方库即可使用SDK,因为它是100%本机Javascript。

浏览器特定支持

Chrome火狐浏览器苹果浏览器IE浏览器
9、10、11

快速安装

在您的<head> 标签内添加以下脚本:

确保将BRANCH KEY替换为在帐户操作后台 (Dashboard)找到的实际 Branch Key。

<script type="text/javascript">

    (function(b,r,a,n,c,h,_,s,d,k){if(!b[n]||!b[n]._q){for(;s<_.length;)c(h,_[s++]);d=r.createElement(a);d.async=1;d.src="https://cdn.branch.io/branch-latest.min.js";k=r.getElementsByTagName(a)[0];k.parentNode.insertBefore(d,k);b[n]=h}})(window,document,"script","branch",function(b,r){b[r]=function(){b._q.push([r,arguments])}},{_q:[],_v:1},"addListener applyCode autoAppIndex banner closeBanner closeJourney creditHistory credits data deepview deepviewCta first getCode init link logout redeem referrals removeListener sendSMS setBranchViewData setIdentity track validateCode trackCommerceEvent logEvent disableTracking getBrowserFingerprintId crossPlatformIds lastAttributedTouchData".split(" "), 0);

    branch.init('BRANCH KEY', function(err, data) {
        // callback to handle err or data
    });
</script>

您也可以通过npm或bower(branch-sdk)来获取sdk

Common.JS和RequireJS兼容性

除作为独立库工作外,Branch SDK还可以在CommonJS环境(浏览器,webpack)以及RequireJS环境(RequireJS / AMD)中很好地工作。只需require('branch')define(['branch'], function(branch) { ... }); 即可开始!

初始化

您将需要创建一个 Branch Metrics 应用程序以获取您的 Branch Key(您可以选择在实时模式和测试模式之间切换)。

初始化SDK是带有回调的异步方法,因此似乎您需要将所有将立即执行的方法调用放在branch.init() 回调中。我们' VE使得它甚至比这更容易,通过建立在队列中的SDK!唯一需要的是在任何其他方法之前先调用branch.init() 。保证所有被调用的SDK方法:1.以被调用的顺序执行,并且2.等待执行,直到先前的SDK方法完成。

因此,执行以下操作是100%允许的:

branch.init(...);
branch.banner(...);

如果branch.init() 失败,则所有后续分支方法将失败。

API 参考

初始化(branch_key,选项,回调)

参量

branch_keystring必需—您的 Branch live key,或(不建议使用)您的应用 ID。

选项Object可选 - {}。

callbackfunction可选—回调读取
会话数据。

将 Branch 脚本添加到页面会自动创建一个 window.branch
对象,其具有下面描述的所有外部方法。所有
Branch 方法的调用存储在队列中,因此即使 SDK 未完全
实例化,对其进行的调用将按最初的调用顺序进行排列

如果会话是通过引荐链接打开的,则data()还将返回引荐链接
点击referring_link ,使您能够继续点击流程。

Branch object 的 init 函数启动 Branch 会话,然后
创建一个新的用户会话(如果尚不存在)
sessionStorage

有用的提示 :init 函数返回一个数据对象,您可以在其中读取
指向用户的链接。

选项对象中可用的属性:

branch_match_id可选string 。当前用户的 browser-fingerprint-id。此参数的值应与?branch_match_id(点击链接后由 Branch 自动附加)的值相同。 _仅在由于流中的多个重定向而丢失?_branch_match_id 时才有必要
branch_view_id可选 - string 。如果要在激活旅程之前测试旅程在页面上的呈现方式,则可以将此参数的值设置为要测试的视图的ID。 仅在测试与旅程相关的视图时才需要。
no_journeys可选 - boolean 。如果为true,则防止“journeys”出现在当前页面上。
disable_entry_animation可选 - boolean 。为true时,将阻止Journeys输入动画。
disable_exit_animation可选 - boolean 。如果为true,则防止Journeys退出动画。
retries可选 - integer 。该值指定分支API调用可以重新尝试的次数。默认值2。
retry_delay可选 - integer 。重新尝试向Branch API发出超时请求之前要等待的时间(以毫秒为单位)。默认值200毫秒
timeout可选 - integer 。在考虑任何Branch API调用超时之前,系统应等待响应的持续时间(以毫秒为单位)。默认值5000毫秒
元数据可选 - object 。通过"定位到Journeys用户的键值对正在查看带有元数据键"过滤器的页面。
nonce可选 - string 。将被添加到branch-journey-cta注入脚本中的现时值。用于允许内容安全策略中的该脚本。
tracking_disabled可选 - boolean 。 true禁用跟踪

用途

branch.init(
    branch_key,
    options,
    callback (err, data),
);

回调格式

callback(
     "Error message",
     {
          data_parsed:        { },                          // If the user was referred from a link, and the link has associated data, the data is passed in here.
          referring_identity: '12345',                      // If the user was referred from a link, and the link was created by a user with an identity, that identity is here.
          has_app:            true,                         // Does the user have the app installed already?
          identity:           'BranchUser',                 // Unique string that identifies the user
          ~referring_link:     'https://bnc.lt/c/jgg75-Gjd3' // The referring link click, if available.
     }
);

注意: Branch.init 必须在调用任何其他Branch函数之前调用。

数据(回调)

参量

callbackfunction可选—回调读取
会话数据。

返回相同的会话信息和任何引用数据,如下所示:
Branch.init ,但不需要app_id 。如果您是在日后需要会话信息,这应该在
调用Branch.init之后被调用

如果 Branch 会话已经初始化,则回调将立即返回
,否则,它将在初始化 Branch 之后返回。

首先(回调)

参量

callbackfunction可选—回调读取
会话数据。

返回相同的会话信息和任何引用数据,如下所示:
Branch.init,它在首次安装该应用程序时执行。如果您是日后需要第一次会话信息,这应该在
调用Branch.init之后被调用

如果 Branch 会话已经初始化,则回调将立即返回
,否则,它将在初始化 Branch 之后返回。

setIdentity(identity,回调)

参量

identitystring必需—唯一标识用户的 string—通常是用户 ID
或是电子邮件地址。

callbackfunction可选—返回用户的
Branch 身份 ID 和唯一链接的回调。

以前 identify()

设置用户的身份并返回数据。要使用此功能,请传递
标识用户的唯一 string—可以是电子邮件地址,
UUID,Facebook ID 等

用途

branch.setIdentity(
    identity,
    callback (err, data)
);

回调格式

callback(
     "Error message",
     {
          identity_id:             '12345', // Server-generated ID of the user identity, stored in `sessionStorage`.
          link:                    'url',   // New link to use (replaces old stored link), stored in `sessionStorage`.
          referring_data_parsed:    { },      // Returns the initial referring data for this identity, if exists, as a parsed object.
          referring_identity:      '12345'  // Returns the initial referring identity for this identity, if exists.
     }
);

注销(回调)

参量

回调function可选

注销当前会话,替换会话ID和身份ID。

用途

branch.logout(
    callback (err)
);

回调格式

callback(
     "Error message"
);

getBrowserFingerprintId(回调)

参量

回调function ,读取用户'的browser-fingerprint-id的回调

返回当前用户'的browser-fingerprint-id。如果禁用跟踪,则返回' null ' 。

用途

branch.getBrowserFingerprintId(function(err, data) { console.log(data); });

回调格式

callback(
     null,
     '79336952217731267', // browser-fingerprint-id, stored in `localStorage`.
);

crossPlatformIds(回调)

参量

回调function可选 -回调读取CPIDs

返回当前用户的CPID。

用途

 branch.crossPlatformIds(
    callback (err, data)
);

lastAttributedTouchData(attribution_window,回调)

参量

attribution_window number ,用于查找归因数据的天数

回调function可选 -回调读取最后归因触摸数据

返回当前用户的最后一个归因触摸数据。最后归属的触摸数据具有与该用户'的上次查看印象或点击链接相关的信息。

用途

branch.lastAttributedTouchData(
    attribution_window,
    callback (err, data)
);

跟踪(事件,元数据,回调)

参量

事件string需要 -事件的名称进行跟踪。

的元数据Object可选 -事件的元数据的对象。

回调function可选

此功能使您可以追踪带有支持元数据的任何事件。
metadata参数是一个格式化的 JSON 对象,可以包含
任何数据并具有无限层次

用途

branch.track(
    event,
    metadata,
    callback (err)
);

回调格式

callback("Error message");

logEvent(事件,event_data_and_custom_data,content_items,customer_event_alias,回调)

参量

事件String需要

event_data_and_custom_data Object可选

content_items Array可选

customer_event_alias String可选

回调function可选

通过logEvent()注册商务事件,内容事件,用户生命周期事件和自定义事件

注意 :如果这是您首次通过 logEvent()集成新的事件追踪功能,请使用 Installation 部分的最新 Branch WebSDK 代码片段。我们在 SDK v2.30.0 中对此进行了更新。

以下指南提供有关触发这些事件类型时可以发送哪些键的信息:

商业用途,内容&用户生命周期"标准事件"

branch.logEvent(
    event,
    event_data_and_custom_data,
    content_items,
    customer_event_alias,
    callback (err)
);

"自定义事件的用法"

branch.logEvent(
    event,
    custom_data,
    callback (err)
);
``
**Notes**:
- logEvent() sends user_data automatically
- When firing Standard Events, send custom and event data as part of the same object
- Custom Events do not contain content items and event data

### Example -- How to log a Commerce Event
```js
var event_and_custom_data = {
   "transaction_id": "tras_Id_1232343434",
   "currency": "USD",
   "revenue": 180.2,
   "shipping": 10.5,
   "tax": 13.5,
   "coupon": "promo-1234",
   "affiliation": "high_fi",
   "description": "Preferred purchase",
   "purchase_loc": "Palo Alto",
   "store_pickup": "unavailable"
};

var content_items = [
{
   "$content_schema": "COMMERCE_PRODUCT",
   "$og_title": "Nike Shoe",
   "$og_description": "Start loving your steps",
   "$og_image_url": "http://example.com/img1.jpg",
   "$canonical_identifier": "nike/1234",
   "$publicly_indexable": false,
   "$price": 101.2,
   "$locally_indexable": true,
   "$quantity": 1,
   "$sku": "1101123445",
   "$product_name": "Runner",
   "$product_brand": "Nike",
   "$product_category": "Sporting Goods",
   "$product_variant": "XL",
   "$rating_average": 4.2,
   "$rating_count": 5,
   "$rating_max": 2.2,
   "$creation_timestamp": 1499892854966,
   "$exp_date": 1499892854966,
   "$keywords": [ "sneakers", "shoes" ],
   "$address_street": "230 South LaSalle Street",
   "$address_city": "Chicago",
   "$address_region": "IL",
   "$address_country": "US",
   "$address_postal_code": "60604",
   "$latitude": 12.07,
   "$longitude": -97.5,
   "$image_captions": [ "my_img_caption1", "my_img_caption_2" ],
   "$condition": "NEW",
   "$custom_fields": {"foo1":"bar1","foo2":"bar2"}
},
{
   "$og_title": "Nike Woolen Sox",
   "$canonical_identifier": "nike/5324",
   "$og_description": "Fine combed woolen sox for those who love your foot",
   "$publicly_indexable": false,
   "$price": 80.2,
   "$locally_indexable": true,
   "$quantity": 5,
   "$sku": "110112467",
   "$product_name": "Woolen Sox",
   "$product_brand": "Nike",
   "$product_category": "Apparel & Accessories",
   "$product_variant": "Xl",
   "$rating_average": 3.3,
   "$rating_count": 5,
   "$rating_max": 2.8,
   "$creation_timestamp": 1499892854966
}];

var customer_event_alias = "event alias";

branch.logEvent(
   "PURCHASE",
   event_and_custom_data,
   content_items,
   customer_event_alias,
   function(err) { console.log(err); }
);

链接(数据,回调)

参量

数据Object需要 -链路数据和元数据。

callbackfunction必需—返回 Branch 深度链接
URL 的string。

以前 createLink()

创建并返回深度链接 URL。 data参数可以包含一个
带有要存储可选数据(包括 Facebook
Open Graph 数据
)的对象。

data嵌入链接的字典。可从
SDK 作为会话或安装参数访问。

注意
如果您要
通过使用数据字典的以下 可选 key 动态共享内容,则可以自定义每个 URL 的 Facebook OG 标签。请使用此
Facebook 工具 调试 OG 标签!

"$og_title"您想要在社交媒体上显示链接的标题
"$og_description"您想要在社交媒体中为链接显示的描述
"$og_image_url"您希望在社交媒体中显示链接的图片的网址
"$og_video"影片的网址
"$og_url"您希望显示的网址
"$og_redirect"如果您想绕过我们的OG标签并使用自己的OG标签,请将该键与包含站点'的元数据的URL一起使用。

另外,您可以通过在字典中插入以下可选键来设置自定义重定向:

"$desktop_url"在台式机或笔记本电脑上将用户发送到此。默认情况下,它是 Branch 托管的 text-me 服务
"$android_url"Play Store 的替代 URL,用于在用户没有该应用的情况下向其发送。仅当您想要移动网站启动时才需要
"$ios_url"App Store 的替代 URL,用于在用户没有该应用的情况下向其发送。仅在您想要移动网站启动时才需要
"$ipad_url"与上述相同,但适用于 iPad Store
"$fire_url"与上述相同,但适用于 Amazon Fire Store
"$blackberry_url"与上述相同,但适用于 Blackberry Store
"$windows_phone_url"与上述相同,但适用于 Windows Store
"$after_click_url"当用户转到应用程序后返回浏览器时,将其带到该URL。仅限 iOS; Android即将推出
"$afterclick_desktop_url"When a user on desktop returns to the desktop browser after going to the desktop app, take them to this URL.

您也可以控制每个链接的直接深层链接:

"$deeplink_path"您希望我们追加到您的 URI 的深度链接路径的值。例如,您可以指定 "$deeplink_path": "radio/station/456",然后我们将使用 URI "yourapp://radio/station/456?link_click_id=branch-identifier" 打开应用程序。这主要是为了支持旧版深度链接基础架构。
"$always_deeplink"true 或 false。 (默认设置为不先进行深度链接)即使我们不确定用户是否已安装该应用程序,也可以指定此 key 以使我们的链接服务团队尝试打开该应用程序。如果未安装该应用程序,我们将退回到相应的 app store 或 $platform_url key。默认情况下,我们仅在看到用户通过 Branch Link 在您的应用中启动会话(已被 Branch cookie 并进行深度链接)时才会打开该应用。

用途

branch.link(
    data,
    callback (err, link)
);

branch.link({
    tags: [ 'tag1', 'tag2' ],
    channel: 'facebook',
    feature: 'dashboard',
    stage: 'new user',
    data: {
        mydata: 'something',
        foo: 'bar',
        '$desktop_url': 'http://myappwebsite.com',
        '$ios_url': 'http://myappwebsite.com/ios',
        '$ipad_url': 'http://myappwebsite.com/ipad',
        '$android_url': 'http://myappwebsite.com/android',
        '$og_app_id': '12345',
        '$og_title': 'My App',
        '$og_description': 'My app\'s description.',
        '$og_image_url': 'http://myappwebsite.com/image.png'
    }
}, function(err, link) {
    console.log(err, link);
});

回调格式

callback(
    "Error message",
    'https://bnc.lt/l/3HZMytU-BW' // Branch deep linking URL
);

sendSMS(电话,linkData,选项,回调)

参量

电话string需要 -电话号码发送SMS到

linkData Object需要 -链路数据的对象

optionsObject可选 —options:make_new_link,即使已经存在一个新连接,它也将强制创建一个

回调function可选 -返回如果不成功的错误

以前 SMSLink()

强大的功能使您的用户能够通过短信共享链接。如果
用户通过 Branch Link 前往此页面,则sendSMS会发送
相同的链接。否则,它将使用
params参数提供的数据创建一个新的链接。sendSMS还会
在向提供的
phone参数发送短信之前,注册带有预先填充了'sms'channel的 click 事件。这样,整个链接 click 事件就从用户发送短信开始
被记录。

注意sendSMS自动 发送以前生成的链接
,以及原始链接中的data对象。因此,没有必要调用
data() 方法来检查已存在的链接。如果链接已经
存在,sendSMS将忽略向其传递的data对象,并发送现有链接。
如果不需要此行为,请在sendSMSoptions对象参数
中设置make_new_link: true,且sendSMS将始终创建新链接。

支持国际短信

请注意,目标电话号码必须与发送短信的国家/地区相同。

用途

branch.sendSMS(
    phone,
    linkData,
    options,
    callback (err, data)
);

var linkData = {
    tags: ['tag1', 'tag2'], 
    channel: 'Website',
    feature: 'TextMeTheApp',
    data: { 
        // here's how to define the deeplink_path and the custom text on the front end 
        $deeplink_path: `custom_deeplink_path`, 
        //for the custom text, use {{link}} as a macro for link location 
        $custom_sms_text: `Here's my custom text, and here is the {{ link }}`,
        mydata: 'something',
        foo: 'bar',
        '$desktop_url': 'http://myappwebsite.com',
        '$ios_url': 'http://myappwebsite.com/ios',
        '$ipad_url': 'http://myappwebsite.com/ipad',
        '$android_url': 'http://myappwebsite.com/android',
        '$og_app_id': '12345',
        '$og_title': 'My App',
        '$og_description': 'My app\'s description.',
        '$og_image_url': 'http://myappwebsite.com/image.png'
    }
}
branch.sendSMS(
    '9999999999',
    linkData,
    { make_new_link: false }, // Default: false. If set to true, sendSMS will generate a new link even if one already exists.
    function(err) { console.log(err); }
);

回调格式

callback("Error message");

deepview(数据,选项,回调)

参量

数据Object需要 -所有链路数据的目的,相同branch.link()。

options: Object, optional - { make_new_link: whether to create a new link even if
one already exists
. open_app, whether to try to open the app passively (as opposed to
opening it upon user clicking); defaults to true

}.

回调function可选 -返回一个错误,如果API调用是不成功

将当前页面变成“深度视图” –应用程序内容的预览。这给出了第二页
特殊行为:

  1. 在移动浏览器上查看页面时,如果用户拥有该应用程序
    安装在其手机上,我们将尝试自动打开该应用并将其与该内容进行深层链接(可以通过将open_app设置为false来关闭此功能,但不建议这样做)。
  2. 提供回调以直接打开应用,可通过branch.deepviewCta()访问;
    您需要在网页上有一个按钮,上面写着“在应用程序中查看”之类的名称,该按钮将调用此功能。

有关如何使用 Web SDK 的 deepview 功能的完整
指南,请参阅本教程

用途

branch.deepview(
    data,
    options,
    callback (err)
);

branch.deepview(
    {
        channel: 'facebook',
        data: {
            mydata: 'content of my data',
            foo: 'bar',
            '$deeplink_path': 'item_id=12345'
        },
        feature: 'dashboard',
        stage: 'new user',
        tags: [ 'tag1', 'tag2' ],
    },
    {
        make_new_link: true,
        open_app: true
    },
    function(err) {
        console.log(err || 'no error');
    }
);

回调格式

callback(
    "Error message"
);

deepviewCta()

branch.deepview()调用结束
之后,请在移动设备上执行 Branch deepview CTA (即 call to action)。如果branch.deepview()调用无误地结束,则在调用branch.deepviewCta()时,
将尝试打开该应用程序并将最终用户与该应用程序进行深度链接;如果最终用户没有
安装该应用程序,它们将被重定向到适合平台的应用程序商店。反过来
,如果branch.deepview()返回错误,branch.deepviewCta()将后退并使用
Branch 动态链接来进行用户
重定向。

如果尚未调用branch.deepview() ,则会出现错误提示并提醒您首先调用
branch.deepview()

用途

$('a.deepview-cta').click(branch.deepviewCta); // If you are using jQuery

document.getElementById('my-elem').onClick = branch.deepviewCta; // Or generally

<a href='...' onclick='branch.deepviewCta()'> // In HTML

// We recommend to assign deepviewCta in deepview callback:
branch.deepview(data, option, function(err) {
    if (err) {
        throw err;
    }
    $('a.deepview-cta').click(branch.deepviewCta);
});

// You can call this function any time after branch.deepview() is finished by simply:
branch.deepviewCta();

When debugging, please call branch.deepviewCta() with an error callback like so:

branch.deepviewCta(function(err) {
    if (err) {
        console.log(err);
    }
});

推荐系统奖励功能

在标准推荐系统中,您有2个参与方:原始用户和被邀请人。我们的系统
具有足够的灵活性以处理所有用户对任何操作的奖励。这是几个例子
场景:

  1. 奖励原始用户采取行动(例如邀请,购买等)
  2. 从原始用户'的引荐链接中奖励受邀者安装应用程序
  3. 当被邀请者采取行动时奖励原始用户(例如,当被邀请者购买商品时,给原始用户积分

这些奖励定义是在操作后台 (Dashboard)的
“推荐”选项卡中“奖励规则”部分下创建。

警告:对于推荐计划,您不应为自定义事件使用独特的奖励并兑现
预识别调用。这可以使用户欺骗系统。

学分(回拨)

参量

回调function需要 -返回与信用数据的对象。

以前是showCredits() ]

该呼叫将检索单个用户的全部贷记和赎回历史。

用途

branch.credits(
    callback (err, data)
);

回调格式

callback(
    "Error message",
    {
        'default': 15,
        'other bucket': 9
    }
);

creditHistory(选项,回调)

参量

选项Object 可选控制返回历史的选项

callbackfunction必需-返回包含信用记录
数据的数组

该调用将检索单个用户的积分和兑换的整个历史记录。
options对象中可用的属性:

可选(最多63个字符) 从中检索信用交易的存储桶。
begin_after_id可选上一次检索中最后一项的信贷交易ID。检索将从其旁边的事务开始。如果未指定,则检索将从事务历史的最开始开始,具体取决于顺序。
长度可选要检索的信贷交易数。如果未指定,则最多可以检索100个信用交易。
方向 DEPRECATED 要检索的信贷交易的顺序。如果direction为1 ,则检索至少是最近的一阶;如果direction为0 ,或者未指定任何方向,则以最新的第一顺序进行检索。不再受支持。

用途

branch.creditHistory(
     options,
     callback(err, data)
);

branch.creditHistory(
    {
      "length":50,
      "direction":0, // no longer supported.
      "begin_after_id":"123456789012345",
      "bucket":"default"
    }
    callback (err, data)
);

回调格式

callback(
    "Error message",
[
    {
        "transaction": {
                           "date": "2014-10-14T01:54:40.425Z",
                           "id": "50388077461373184",
                           "bucket": "default",
                           "type": 0,
                           "amount": 5
                       },
        "referrer": "12345678",
        "referree": null
    },
    {
        "transaction": {
                           "date": "2014-10-14T01:55:09.474Z",
                           "id": "50388199301710081",
                           "bucket": "default",
                           "type": 2,
                           "amount": -3
                       },
        "referrer": null,
        "referree": "12345678"
    }
]
);

兑换(金额,存储桶,回调)

参量

number需要 -的amount 个信用点的数量(int)以兑换

string需要 -的名称bucket (串),该桶的赎回从信用

回调function可选 -返回如果不成功的错误

以前是redeemCredits() ]

积分存储在buckets ,您可以根据您的应用将其定义为点数,货币
。当您想兑换积分时,请使用积分为
赎回,然后从中将其赎回。

branch.redeem(
    amount, // Amount of credits to be redeemed
    bucket,  // String of bucket name to redeem credits from
    callback (err)
);

branch.redeem(
    5,
    "Rubies",
    function(err) {
        console.log(err);
    }
);

回调格式

callback("Error message");

addListener(事件,监听器)

参量

eventString可选 -指定您要监听的事件。如果
未定义,观察者将收到所有事件。

listenerfunction必需 -监听函数将接收
事件为字符串,可选数据为对象。

Branch Web SDK包含一个简单的事件侦听器,该侦听器当前仅发布以下事件
旅程事件。
未来的发展将包括订阅与所有其他Web相关的事件的能力
SDK功能。

var listener = function(event, data) { console.log(event, data); }

// Specify an event to listen for
branch.addListener('willShowJourney', listener);

// Listen for all events
branch.addListener(listener);

可用Journey事件:

  • willShowJourney :即将显示Journey。
  • didShowJourney :Journey '的入口动画已完成,并且正在向用户显示。
  • willNotShowJourney :不会显示Journey,并且不会发出其他事件。
  • didClickJourneyCTA :用户单击了Journey'的CTA按钮。
  • didClickJourneyClose :用户单击了Journey'的关闭按钮。
  • willCloseJourney :Journey结束动画已开始。
  • didCloseJourney :Journey '的关闭动画已完成,用户不再可见。
  • didCallJourneyClose :当开发人员调用branch.closeJourney() 取消Journey时发射。

removeListener(listener)

参量

listenerfunction必需 -引用您的监听功能
想要删除。 注意 :此引用必须与传递给的引用相同
branch.addListener() ,不是功能的相同克隆。

如果存在,请从观察中删除该侦听器。并不是说这个功能一定是
将引用传递给传递给branch.addListener()同一函数,而不是
只是功能的相同克隆。

setBranchViewData(数据)

参量

数据Object需要 -所有链路数据时,相同的Branch.link对象()

此功能使您可以为给定的移动网络旅程动态设置深层链接数据。对于
例如,如果您设计整页插页式广告,并希望为每个自定义深层链接数据
页面,则需要使用此功能在页面加载时动态设置深层链接参数。然后,
该页面上加载的所有“旅程”都将继承这些深层链接参数。

用途

branch.setBranchViewData(
  data // Data for link, same as Branch.link()
);

branch.setBranchViewData({
  tags: ['tag1', 'tag2'],
  data: {
    mydata: 'something',
    foo: 'bar',
    '$deeplink_path': 'open/item/1234'
  }
});

closeJourney(回调)

参量

回调function可选

旅程中包含一个用户可以单击的关闭按钮,但您可能想关闭
超时旅行,或通过其他用户与Web应用程序的交互。在这种情况下,
通过调用Branch.closeJourney()结束旅程非常简单。

用途

branch.closeJourney(function(err) { console.log(err); });

autoAppIndex(数据,回调)

参量

数据Object可选 -如何建立你的应用索引标签为您的网页信息

回调function可选 -返回一个错误字符串如果不成功

此功能会在网页的<head></head>部分之间生成并插入Firebase App Indexing标签。
插入后,这些标签将帮助Google在您的Google搜索中为您的应用编入索引和显示内容。

下面列出了一些可选参数,这些参数可用于构建您的页面'的应用索引标签:

"androidPackageName"Android App '的包名称
"androidURL"您的Android应用的自定义方案,例如: example/home/cupertino/12345 其中example 是应用'的URI方案)和home/cupertino/12345 路由到应用中唯一内容的路线
"iosAppId"iOS应用程序的iTunes App Store ID
"iosURL"针对您的iOS应用的自定义方案,例如: example/home/cupertino/12345
"data"您想要传递给应用程序的任何其他深度链接接数据

最终的Firebase应用程序索引索引标签将具有以下格式:

<link rel="alternate" href="android-app://{androidPackageName}/{androidURL}?{branch_tracking_params_and_additional_deep_link_data}"/>
<link rel="alternate" href="ios-app://{iosAppId}/{iosURL}?{branch_tracking_params_and_additional_deep_link_data}"/>

Note: If optional parameters above are not specified, Branch will try to build Firebase App Indexing tags using your page's App Links tags.
Alternatively, if optional parameters are specified but Firebase App Indexing tags already exist on your webpage then Branch tracking params will be appended to the end of these tags and ignore what is passed into Branch.autoAppIndex().

有关谷歌分析'的企图索引您的App '通过此方法S含量可以从源分析在仪表板中发现,其中channelFirebase App IndexingfeatureAuto App Indexing

用途

branch.autoAppIndex(
    data,
    callback (err)
);

branch.autoAppIndex({
    iosAppId:'123456789',
    iosURL:'example/home/cupertino/12345',
    androidPackageName:'com.somecompany.app',
    androidURL:'example/home/cupertino/12345',
    data:{"walkScore":65, "transitScore":50}
}, function(err) { console.log(err); });

trackCommerceEvent(事件,commerce_data,元数据,回调)

参量

事件String需要 -名称的商务事件的进行跟踪。我们目前支持'购买'活动

commerce_data Object需要 -数据描述该商务事件

Object可选 -元数据,你可能要添加到事件

回调function可选 -返回如果不成功的错误

将用户商务事件发送到服务器

使用商务事件跟踪用户何时在您的在线商店中购买商品,
进行应用内购买或购买订阅。跟踪商务事件
分支仪表板以及您的其他事件,以便您可以判断
广告系列和其他分析。

用途

branch.trackCommerceEvent(
    event,
    commerce_data,
    metadata,
    callback (err)
);

var commerce_data = {
    "revenue": 50.0,
    "currency": "USD",
    "transaction_id": "foo-transaction-id",
    "shipping": 0.0,
    "tax": 5.0,
    "affiliation": "foo-affiliation",
    "products": [
         { "sku": "foo-sku-1", "name": "foo-item-1", "price": 45.00, "quantity": 1, "brand": "foo-brand",
           "category": "Electronics", "variant": "foo-variant-1"},
         { "sku": "foo-sku-2", "price": 2.50, "quantity": 2}
     ],
};

var metadata =  { "foo": "bar" };

branch.trackCommerceEvent('purchase', commerce_data, metadata, function(err) {
    if(err) {
         throw err;
    }
});

disableTracking(disableTracking)

参量

disableTracking Boolean可选 -真禁用跟踪和假重新使得能够追踪。

注释

  • 不带参数的disableTracking()是disableTracking(true)的简写。
  • 如果对disableTracking(false)进行了调用,则WebSDK将重新初始化。此外,如果通过了tracking_disabled:true
    作为init()的选项,它将在重新初始化过程中被删除。

允许用户保持私密

除了深层链接,这将阻止任何分支请求通过网络发送。
如果有人单击“分支”链接,但表示不被跟踪,则我们会将深层链接数据返回给
客户,但没有跟踪信息。

在“请勿追踪”模式下,您仍然可以创建链接并显示“旅程”,但是它们不会具有可识别性
与他们相关的信息。您可以通过调用上述函数随时更改此行为。
不跟踪模式状态是持久的:它在网站的浏览器会话中为用户保存。

大约一个月前更新


网络完整参考


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

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