网络完整参考

使用示例Web应用

我们提供了一个示例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> 标签内添加以下脚本:

确保将1替换BRANCH KEY帐户信息中心找到的实际分支密钥。

)(窗口,文档, "脚本" "分支" ,function(b,r){b [r] = function(){b._q.push([r,arguments])}},{_ q:[] ,_v:1}, "的addListener applyCode autoAppIndex横幅closeBanner closeJourney creditHistory币数据deepview deepviewCta第一引用代码初始化链路注销赎回请示的removeListener sendSMS setBranchViewData setIdentity跟踪validateCode trackCommerceEvent LOGEVENT disableTracking getBrowserFingerprintId crossPlatformIds lastAttributedTouchData " .split( " " ),0); branch.init( ' BRANCH KEY ' ,function(err,data){ //回调以处理err或数据 }); </script>
<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_key string需要 -你的分支直播键 ,或(不建议使用)您的应用程序ID。

选项Object可选 - {}。

回调function可选 -回调读取
会话数据。

将“分支”脚本添加到您的页面会自动创建一个window.branch
对象,其中包含以下所述的所有外部方法。对
Branch方法的所有调用都存储在队列中,因此,即使未完全实例化该SDK的
实例,对其的调用也将按照最初被调用
的顺序排队。
如果会话是通过引荐链接打开的,则data() 还将返回引荐链接
单击为referring_link ,使您能够继续单击流程。

在分支对象发起init函数该处会话和
创建一个新的用户会话,如果它不'吨已经存在,在
sessionStorage

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

选项对象中可用的属性:

Key
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毫秒
metadata 可选 - 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函数之前调用。

数据(回调)

参量

回调function可选 -回调读取
会话数据。

返回相同的会话信息和任何引用数据,为
Branch.init ,但不需要app_id 。这意味着被称为
Branch.init ,如果你需要在会话信息被称为
后的点。
如果已初始化Branch会话,则回调将立即返回
,否则,将在Branch初始化后返回。

首先(回调)

参量

回调function可选 -回调读取
会话数据。

返回相同的会话信息和所有引用数据,就像首次安装该应用程序时的
Branch.init 一样。如果您需要在以后的第
点获取第一个会话信息,则在调用第Branch.init
之后将其称为

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

setIdentity(identity,回调)

参量

身份string需要 -串唯一地识别用户-通常是一个用户ID
或电子邮件地址。

回调function可选 -回调返回用户'小号
科标识ID和唯一的链接。

以前 identify()

设置用户的身份并返回数据。要使用此功能,请向
传递一个用于标识用户的唯一字符串-这可以是电子邮件地址,
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()集成新的事件跟踪功能,请使用安装部分的最新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需要 -链路数据和元数据。

回调function需要 -返回科深的字符串
链接URL。

以前 createLink()

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

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

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

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

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

Key
"$desktop_url" 在台式机或笔记本电脑上将用户发送到何处。默认情况下,它是Branch托管的text-me服务
"$android_url" 对于Play商店中的替换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即将推出

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

Key
"$deeplink_path" 您希望我们追加到您的URI的深度链接接路径的值。例如,您可以指定" $ deeplink_path " : " radio / station / 456 "然后我们将使用URI " yourapp:// radio / station / 456?link_click_id = branch-identifier "打开应用程序。这主要是为了支持旧版深度链接接基础结构。
"$always_deeplink" 对或错。 (默认为不深链接第一)此键可以指定有我们的链接服务力量试图打开该应用程序,即使我们不能确定用户已安装的应用程序。如果未安装该应用程序,我们将退回到相应的应用程序商店或$ platform_url密钥。默认情况下,我们只有当我们打开应用程序见过用户在您的应用程序从一个Branch链路发起会话(已的Cookie和Branch深链接)。

用途

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需要 -链路数据的对象

选项Object 可选选项:make_new_link,即使已存在一个新的链接,也将强制创建
新链接

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

以前 SMSLink()

强大的功能使您的用户能够通过SMS共享链接。如果为
则用户通过“分支”链接导航到此页面,“ sendSMS 将发送该
相同的链接。否则,它将使用
params 参数中提供的数据创建一个新链接。 sendSMS 也注册到点击事件
channel 预填充'sms' 发送短信到所提供的前
phone 参数。这样,从用户发送短信开始,将记录整个链接单击事件(从
开始)。

sendSMS 的意志自动发送先前生成的链接点击,
与沿着data 在原始链接对象。因此,不需要调用
data() 方法来检查已经存在的链接。如果已经存在一个链接
,则sendSMS 将简单地忽略传递给它的data 对象,并发送现有的链接。
如果不希望出现这种情况,请在sendSMSoptions 对象参数
中设置make_new_link: true ,而sendSMS 将始终建立新链接。

支持国际短信

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

用途

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

branch.sendSMS(
    '9999999999',
    {
        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'
        }
    },
    { make_new_link: true }, // 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()。

选项Object可选 - { make_new_link 是否创建一个新的链接,即使
已经存在
open_app 是否尝试被动打开该应用(而不是
开口它在用户点击);默认为true

}。

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

将当前页面变为"深度视图" –应用程序内容的预览。这使页面具有两种
特殊行为:(1)在移动浏览器上查看页面时,如果用户在手机上安装了应用
,我们将尝试自动打开该应用并将其深层链接到这
内容(可以通过将open_app设置为false来将其关闭,但是不建议这样做),
和(2)提供了直接打开应用程序的回调,可以通过branch.deepviewCta()访问;
you ' ll想要在网页上有一个按钮,上面写着类似于"在应用程序"视图,其中
称为此功能。

有关如何使用Web SDK的深度视图功能的完整的
指南,请参见本教程

用途

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() 通话结束
后,在移动设备上执行分支Deepview CTA(号召性用语)。如果branch.deepview() 调用没有错误结束,则当branch.deepviewCta() 调用
时,将尝试打开该应用并将最终用户深层链接到该应用;如果最终用户未安装
应用程序,则他们将被重定向到适合平台的应用程序商店。另一方面,如果
出现错误返回branch.deepview() ,则branch.deepviewCta() 将退回到
并使用
分支动态链接重定向用户。

如果尚未调用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. 当被邀请者采取行动时奖励原始用户(例如,当被邀请者购买商品时,给原始用户积分

这些奖励定义在仪表板上的
' Referrals '选项卡上的' Reward Rules '部分下创建。

警告:对于推荐计划,您不应为自定义事件使用唯一的奖励,也不能兑换
预识别呼叫。这可以允许用户欺骗系统。

学分(回拨)

参量

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

以前是showCredits() ]

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

用途

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

回调格式

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

creditHistory(选项,回调)

参量

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

回调function需要 -返回与信用历史的阵列
的数据

该呼叫将检索单个用户的全部贷记和赎回历史。
属性在options 对象中可用:

Key
bucket 可选(最多63个字符) 从中检索信用交易的存储桶。
begin_after_id 可选上一次检索中最后一项的信贷交易ID。检索将从其旁边的事务开始。如果未指定,则检索将从事务历史的最开始开始,具体取决于顺序。
length 可选要检索的信贷交易数。如果未指定,则最多可以检索100个信用交易。
direction 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(事件,监听器)

参量

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

听者function需要 -听力的功能,将一个临危
事件作为字符串和可选的数据作为对象。

Branch Web SDK包含一个简单的事件侦听器,该事件侦听器当前仅发布
Journeys事件的事件。
未来的发展将包括订阅与所有其他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)

参量

听者function需要 -参考给您的监听功能
想移除。 note :这必须是传递给
branch.addListener()的相同引用,而不是该函数的相同克隆。

如果存在,请从观察中删除该侦听器。并非必须将此函数设为
,而是将对相同的函数的引用传递给branch.addListener() ,而不是
只是该函数的相同克隆。

setBranchViewData(数据)

参量

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

此功能使您可以为给定的移动网络Journey (路径图谱) 动态设置深层链接数据。以
为例,如果您指定整页插页式广告,并希望为每
页自定义深层链接数据,则' d需要使用此功能在页面加载时动态设置深层链接参数。然后,该页面上加载的
Journey都会继承这些深层链接参数。

用途

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可选

journeys包括用户可以单击的关闭按钮,但是您可能希望通过超时或通过其他用户与Web应用程序的交互来结束“
journeys”。在这种情况下,
闭合的journeys是通过调用非常简单的Branch.closeJourney()

用途

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

autoAppIndex(数据,回调)

参量

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

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

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

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

Key
"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}"/>

注意:如果未指定上述可选参数,Branch将尝试使用页面'的App Links标签构建Firebase App Indexing标签。
或者,如果指定了可选参数,但您的网页上已经存在Firebase App Indexing标签,则将分支跟踪参数附加到这些标签的末尾,并忽略传递给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仪表板中与其他事件一起跟踪商务事件,因此您可以判断
活动和其他分析的有效性。

用途

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()的一个选项传递了
    ,则它将在重新初始化过程中被删除。

允许用户保持私密

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

在“不跟踪”模式下,您仍然可以创建链接并显示“Journeys(网站向App引流解决方案) ”,但是它们将没有与之关联的可识别
信息。您可以通过调用上述函数随时更改此行为。
“不跟踪”模式状态是持久的:它在网站的浏览器会话中为用户保存。

一天前更新

网络完整参考


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

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