我是 Unomi 的新手,
我已经安装了 unomi-1.2.0-incubating 并启动了成功运行的 karaf 服务器。
我有弹性搜索安装并在集群名称 contextElasticSearch 下工作。
我已经在我的前端网站中集成了 context.js 以从 unomi 加载它,并且还通过成功调用 unomi context.json 触发了页面访问事件作为主页,contectParams 如下所示:
代码:
function contextRequest(successCallback, errorCallback, payload) {
var data = JSON.stringify(payload);
// if we don't already have a session id, generate one
var sessionId = cxs.sessionId || generateUUID();
var url = 'http://localhost:8181/context.json?sessionId=' + sessionId;
var xhr = new XMLHttpRequest();
var isGet = data.length < 100;
if (isGet) {
xhr.withCredentials = true;
xhr.open("GET", url + "&payload=" + encodeURIComponent(data), true);
} else if ("withCredentials" in xhr) {
xhr.open("POST", url, true);
xhr.withCredentials = true;
} else if (typeof XDomainRequest != "undefined") {
xhr = new XDomainRequest();
xhr.open("POST", url);
}
xhr.onreadystatechange = function () {
if (xhr.readyState != 4) {
return;
}
if (xhr.status == 200) {
var response = xhr.responseText ? JSON.parse(xhr.responseText) : undefined;
if (response) {
cxs.sessionId = response.sessionId;
successCallback(response);
}
} else {
console.log("contextserver: " + xhr.status + " ERROR: " + xhr.statusText);
if (errorCallback) {
errorCallback(xhr);
}
}
};
}
var scope = 'unomipages';
var itemId = btoa(window.location.href);
var source = {
itemType: 'page',
scope: scope,
itemId: itemId,
properties: {
url: window.location.href
}
};
var contextPayload: any = {
source: source,
events: [
{
eventType: 'pageVisitEvent',
scope: scope,
source: source
}
],
requiredProfileProperties: [
]
};
contextRequest(function (response: any) {
console.log(JSON.stringify(response));
}, function(){}, contextPayload);
我的问题是:
- 如何跟踪 unomi 服务器中的事件,并访问它的 rest api?
让我知道您是否想从我这里获得更多信息,或者我是否缺少任何东西。