访问者 JS - 服务器侧
这是经过修剪的版本 VisitorAPI 联合来文图书馆。 它旨在运行在您的服务器上,无论是在节点JS还是犀牛环境中.
提供接口
- 获取VisitorValues () : 对象
- 获取补充数据ID( 已选择的消费者ID): 字符串
- 尝试 PopulateSdidFromUrl( 重定向URL)
- customerIDs(对象:客户ID)
- 获取状态( ) : 状态 { OrgID: { sdid, CuspectIDs}
- 获取CookieName () : 字符串, AMCV cookie 名称
- 访问者# 授权状态: 静态 Enum
是个什么 sdid
SDID 是一个随机生成的字符串,在每次呼叫中发送,需要合并成一个单一的Analytics条目.
在执行目标服务器侧和分析客户端时,需要某种机制来同步客户端和服务器之间的状态. SDID 是这个状态的一部分,它是一个ID, 允许我们把呼叫目标 和呼叫分析 合并成一组一致的数据.
执行目标客户端的客户, 不需要担心sdid.
是个什么 sdidConsumerID
sdidConsumerID 是一种独特的字符串,用来激发消费者的兴趣.
所有需要合并的给目标发出的呼吁,必须具有相同的 SDID每一个电话都需要有一个独特的 sdidConsumerID 以便他们获得 SAME SDID。 。 。 .
为了正确合并数据,您必须拨打 visitor#generatePayload 每一个呼叫目标,传递一个独特的 sdidConsumerID 每一个电话。 我们建议使用 mbox 名称作为 sdidConsumerID。 。 。 .
getVisitorValues()
应当使用这种方法来获取营销云访问者ID,观众管理者位置提示和观众Manger blob.
// 1. Retrieve the AMCV cookie from the request.
const cookies = cookie.parse(req.headers.cookie || "");
const cookieName = visitor.getCookieName();
const amcvCookie = cookies[cookieName];
// 2. Instantiate Visitor instance
const visitor = new Visitor("<orgId>", amcvCookie);
//3. Retrieve Visitor instance values
const visitorValues = visitor.getVisitorValues();
...
getSupplementalDataID(sdidConsumerID)
应使用这种方法生成补充数据ID.
参数是具有下列道具的一个物体:
sdidConsumerID: 如上所述,asdidConsumerID必须提供.
// 1. Retrieve the AMCV cookie from the request.
var cookies = cookie.parse(req.headers.cookie || "");
var cookieName = visitor.getCookieName();
var amcvCookie = cookies[cookieName];
// 2. Instantiate Visitor instance
const visitor = new Visitor("<orgId>", amcvCookie);
//3. Retrieve SDID
const sdid = visitor.getSupplementalDataID("<some mbox>");
...
attemptToPopulateSdidFromUrl(redirectURL)
这种方法寻找一个 adobe_mc_sdid 在 URL 中选项 。 如果找到,请分析并查找SDID和CONSUMER,并尝试将这些ID设置为补充数据ID.
// 1. Retrieve the AMCV cookie from the request.
var cookies = cookie.parse(req.headers.cookie || "");
var cookieName = visitor.getCookieName();
var amcvCookie = cookies[cookieName];
// 2. Instantiate Visitor instance
const visitor = new Visitor("<orgId>", amcvCookie);
//3. Attempt to populate SDIDs from
visitor.attemptToPopulateSdidFromUrl(redirectURL);
...
getState
这种方法返回了访问器实例的内部状态,稍后应该与访问器API客户端库共享.
getCookieName
提供 AMCV cookie 名称从请求中取回的简单助手 .
setCustomerIDs
这个 setCustomerIDs 方法为同一访客接受多个客户身份。 帮助您识别或瞄准跨不同设备的个人用户。 例如,您可以将这些ID作为客户属性上传到"营销云",并在不同的解决方案中访问这些数据.
在服务器上,我们正在使用这种方法与"目标"共享这些ID,以及添加到与客户端侧访问API库共享的状态.
关键是:
- 为了让身份证进入目标电话 确保你打电话
setCustomerIDs打电话前generatePayload。 。 。 . - 如果你打电话
setCustomerIDs在服务器上,这些ID会被添加到与客户端共享的状态,以及setCustomerIDs将自动调用客户端,所以你不必再这样做。 你只要打电话setCustomerIDs在客户端上,如果您有更多的id可以设置,除此之外,您已经在服务器上设置了. - 使用静态圆柱
Visitor.AuthState设置authState客户身份的财产.
// Single ID with a single authentication state
visitor.setCustomerIDs({
"userid": {
"id": "67312378756723456",
"authState": Visitor.AuthState.AUTHENTICATED
}
});
/*
Multiple IDs with only the first ID explicitly assigned an authentication state.
The second ID is not explicitly assigned an authentication state and is implicitly
assigned Visitor.AuthState.Unknown by default.
*/
visitor.setCustomerIDs({
"userid": {
"id": "67312378756723456",
"authState": Visitor.AuthState.AUTHENTICATED
},
"puuid": "550e8400-e29b-41d4-a716-446655440000"
});
访问者# AuthState
用于设定客户身份的 AuthState enum .
{ UNKNOWN: 0, AUTHENTICATED: 1, LOGGED_OUT: 2 }