sitecore - Sitecore 9 JSS 活动和目标
问题描述
我刚刚开始使用 Sitecore 9.1 JSS。从外部站点,我对 Sitecore 项目进行 RESTful API 调用,例如
http://site/sitecore/api/layout/render/jss?item=/&sc_apikey={KEY}
我创建了一个活动并使用参数调用了上述内容:
https:/site/?sc_camp=<campaignid>&sc_lang=en
当我在体验分析仪表板中查看活动时,没有活动显示。(我确实重新索引)
我读了这篇文章:https ://jss.sitecore.com/docs/fundamentals/services/tracking并且还添加了补丁文件,如下所述:
<configuration>
<sitecore>
<settings>
<setting name="Sitecore.JSS.TrackerServiceEnabled" value="true" />
</settings>
</sitecore>
</configuration>
我错过了什么?如何使用 Sitecore 9.1 JSS 触发活动(甚至目标)?
解决方案
我从Gary Wenneker 的博客中得到了一个答案:
部署营销定义
在我们能够触发事件之前,我们必须部署营销定义。这是从控制面板(仪表板 -> 控制面板)完成的。单击部署营销定义链接。这将打开一个包含所有营销定义的窗口。全部选择它们并单击部署。这可能需要大约 15 分钟才能运行,所以不要认为您的系统会无响应,请不要不耐烦 :-)
Sitecore JSS 跟踪 API
Tracking API 可以通过向 Sitecore 布局服务发出请求来跟踪几件事情。它接受特定类型的数组(及其属性)
const trackingApiOptions = { host: config.sitecoreApiHost, querystringParams: { sc_apikey: config.sitecoreApiKey, }, fetcher: dataFetcher }; const track = (event: string) => { return function (dispatch: any, getState: any) { trackingApi // note the events are an array - batching is supported .trackEvent([{ eventId: event }], trackingApiOptions) .then(() => { dispatch(artistSearchedClickedRequest); }) .catch((error: any) => console.error(error)); } }
Tracking API Options 对象将提供主机、Sitecore API 密钥(通过查询字符串)和数据提取器。这个数据获取器将是 Axios 的一个简单实现,但您可以随意使用您想要的任何实现:
import axios from "axios"; export function dataFetcher(url, data) { return axios({ url, method: data ? 'POST' : 'GET', data, withCredentials: true, }); }
推荐阅读
- azure-service-fabric - 将 Service Fabric 远程调用转换为 REST
- kubernetes - Kubectl 创建“无效对象”
- algorithm - BFS 和 DFS 算法有什么区别?
- javascript - hapi.js 没有从 mysql 返回值
- discord.js - 我正在尝试将状态和播放状态添加到我的用户信息命令
- python - Spacy 编辑/清理 PDF 文件中不那么重要的文本
- python - 如何在odoo中将自定义值从sales.order.line发送到stock.move
- c++ - 如何使用 Open MPI 让我的程序更快?我的 Open MPI 程序目前比原来的慢,我不明白什么?
- javascript - SAFARI 正在下载一个没有内容类型的 .download 文件(EXPRESS、NODE.JS)
- python - 处理唯一一起错误的最佳方法 - Django 2.2?