(window.webpackJsonp=window.webpackJsonp||[]).push([[186],{763:function(t,a,s){"use strict";s.r(a);var n=s(1),e=Object(n.a)({},(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[s("h1",{attrs:{id:"数据采集"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#数据采集"}},[t._v("#")]),t._v(" 数据采集")]),t._v(" "),s("p",[t._v("在 we 分析控制台可以免费启用体验分析，无需更改一行代码即可自动采集数据和拥有完整分析能力，也可自定义上报用户 ID、属性和自定义事件。")]),t._v(" "),s("p",[t._v("当需进行更精细化的"),s("strong",[t._v("人群分析")]),t._v("时（如进行 abtest、看不同渠道来源、会员/非会员人群的转化和热力对比等等），关联更多业务数据可以获得更多洞察，此时可以自定义上报业务自定义事件和标记自定义的用户属性/ID，在可视化日志、热力图、转化分析中都有提供丰富的人群筛选和对比功能。")]),t._v(" "),s("h2",{attrs:{id:"小程序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#小程序"}},[t._v("#")]),t._v(" 小程序")]),t._v(" "),s("p",[t._v("开通后即开始自动采集数据。默认自动采集的数据足以支持可视化日志、热力图、转化分析等各个分析模块的使用。也建议使用"),s("a",{attrs:{href:"./api.html"}},[t._v("小程序接口")]),t._v(" 按需上报自定义用户 ID、用户属性、和自定义事件，从而可以进行更精细化的人群分析和事件分析。")]),t._v(" "),s("p",[t._v("注：")]),t._v(" "),s("ul",[s("li",[t._v("当用户退出小程序至后台超过 30 分钟，再回到小程序 (且场景值不为1089) 后，系统会自动结束上次采集，重新开启新的采集。在管理端将看到两条不同的可视化日志。")])]),t._v(" "),s("h2",{attrs:{id:"Web-项目"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#Web-项目"}},[t._v("#")]),t._v(" Web 项目")]),t._v(" "),s("p",[t._v("新建 Web 项目后，进入项目，选择“设置->采集配置”，即可看到接入代码，将接入代码写入到要接入 web 项目的 index.html 文件中即可。不需额外操作即可自动采集数据。"),s("a",{attrs:{href:"./web-sdk.html"}},[t._v("Web SDK 文档")])]),t._v(" "),s("h4",{attrs:{id:"web-端跨域采集"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#web-端跨域采集"}},[t._v("#")]),t._v(" web 端跨域采集")]),t._v(" "),s("p",[t._v("跨域采集允许您在主域和一个或多个副域之间采集可视化日志。这在以下情况下特别有用：")]),t._v(" "),s("ul",[s("li",[t._v("用户在多个相关网站间导航。")]),t._v(" "),s("li",[t._v("一个应用跨多个子域运行，需要一致的用户追踪和行为分析。")])]),t._v(" "),s("p",[t._v("在实现上，跨域采集通过URL参数传递可视化日志信息，并在目标域中解析和应用这些信息。这样确保了用户在主域和副域间的行为能够被连贯地追踪和分析。")]),t._v(" "),s("h4",{attrs:{id:"示例"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#示例"}},[t._v("#")]),t._v(" 示例")]),t._v(" "),s("p",[t._v("假设您有一个在www.example1.com运行的主应用和一个在www.example2.com运行的副应用。以下是如何使用跨域采集功能的步骤：")]),t._v(" "),s("ol",[s("li",[t._v("在主域中启动采集:")])]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 在www.example1.com中")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("window"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("__wxobs__"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n  window"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("__wxobs__"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("setup")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 初始化参数 */")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("ol",{attrs:{start:"2"}},[s("li",[t._v("生成跳转到副域的链接：")])]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 仍在www.example2.com中")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" auxiliaryDomainInfo "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("window"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("__wxobs__ "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("&&")]),t._v(" window"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("__wxobs__"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("getAuxiliaryDomainInfo"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n  auxiliaryDomainInfo "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" window"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("__wxobs__"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getAuxiliaryDomainInfo")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" subDomainUrl "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token template-string"}},[s("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("https://www.example2.com?wxobsMetadata=")]),s("span",{pre:!0,attrs:{class:"token interpolation"}},[s("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("${")]),t._v("auxiliaryDomainInfo"),s("span",{pre:!0,attrs:{class:"token interpolation-punctuation punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token template-punctuation string"}},[t._v("`")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 使用subDomainUrl作为跳转链接")]),t._v("\n")])])]),s("ol",{attrs:{start:"3"}},[s("li",[t._v("在副域中启动采集，采集器会自动根据 url query 合并可视化日志")])]),t._v(" "),s("h2",{attrs:{id:"小程序-web-view-采集（联合采集）"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#小程序-web-view-采集（联合采集）"}},[t._v("#")]),t._v(" 小程序 web-view 采集（联合采集）")]),t._v(" "),s("p",[t._v("如果要在小程序中采集 web-view 中的内容，需使用联合采集功能。")]),t._v(" "),s("p",[t._v("使用步骤如下：")]),t._v(" "),s("ol",[s("li",[t._v("在 we 分析体验分析控制台中，进入【设置-Web 采集】配置 web 项目")]),t._v(" "),s("li",[t._v("如无 web 项目，则需根据页面上的指引先创建 web 项目")]),t._v(" "),s("li",[s("a",{attrs:{href:"./docs.html#web-项目"}},[t._v("根据指引")]),t._v("，启动 web 采集（项目 B）")]),t._v(" "),s("li",[s("a",{attrs:{href:"./api.html"}},[t._v("根据指引")]),t._v("，在小程序中（基础库版本>=2.29.1），使用 sdk(>=0.1.4) 方式采集（A 项目），调用 setup 函数时，此时函数将返回一个类型为 string 的 "),s("code",[t._v("sessionId")])])]),t._v(" "),s("div",{staticClass:"language-js extra-class"},[s("pre",{pre:!0,attrs:{class:"language-js"}},[s("code",[t._v("  "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" wxobs "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'@wxobs/miniprogram-helper'")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n  "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("App")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("onLaunch")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("async")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n      "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" sessionId "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" wxobs"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("setup")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n    "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n  "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ol",{attrs:{start:"5"}},[s("li",[t._v("在使用 web-view 组件时，将步骤 4 中的 "),s("code",[t._v("sessionId")]),t._v(" 作为 url query 填入到 src 中，例如：")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v('<web-view src="https://www.qq.com?wxobsId={{sessionId}}"></web-view>\n')])])]),s("p",[s("strong",[t._v("注意事项：")])]),t._v(" "),s("ol",[s("li",[t._v("若要采集的 web-view 设置了 "),s("code",[t._v("x-iframe-options")]),t._v(" 或 "),s("code",[t._v("Content-Security-Policy")]),t._v("响应头，则会导致热力图等功能无法正常展示 web-view 中的内容，需要：\n"),s("ul",[s("li",[t._v("去掉 "),s("code",[t._v("x-iframe-options")]),t._v(" 属性或者修改为 "),s("code",[t._v("x-iframe-options: ALLOW-FROM dev.weixin.qq.com wedata.weixin.qq.com;")])]),t._v(" "),s("li",[t._v("修改 "),s("code",[t._v("Content-Security-Policy")]),t._v(" 响应头为 "),s("code",[t._v("Content-Security-Policy: frame-ancestors 'self' dev.weixin.qq.com wedata.weixin.qq.com;")])])])]),t._v(" "),s("li",[t._v("在内嵌 web-view 中，默认情况下仅首次加载的页面支持联合采集。如果在 web-view 中跳转到其它页面（如从 "),s("code",[t._v("a.example.com")]),t._v(" 跳到 "),s("code",[t._v("b.example.com")]),t._v("），则需要在打开 "),s("code",[t._v("b.example.com")]),t._v(" 时，增加 "),s("code",[t._v("wxobsFollow=true")]),t._v(" 的 query，如 "),s("code",[t._v("b.example.com?wxobsFollow=true")]),t._v("。")])]),t._v(" "),s("h2",{attrs:{id:"技术支持"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#技术支持"}},[t._v("#")]),t._v(" 技术支持")]),t._v(" "),s("p",[t._v("如果您在接入过程中遇到问题，请点击 we 分析控制台 - 体验分析页面右上角“技术支持“，扫码进群反馈。")])])}],!1,null,null,null);a.default=e.exports}}]);