媒体项目的Sitecore目标不会影响参与价值

时间:2016-03-22 20:09:54

标签: sitecore sitecore7.2

我使用Sitecore 7.2修订版140526 + DMS。我正在尝试为媒体项目(PDF)分配目标。当我尝试下载此媒体项时,目标将在PageEvents表中注册,但访问的参与值不会更改。我在StartTrackingProcessor中找到了以下代码:

Tracker.CurrentPage.OnCancel += (EventHandler)((obj, args) =>
{
    AcceptChangesArgs acceptChangesArgs = args as AcceptChangesArgs;
    if (acceptChangesArgs == null)
        return;
    VisitorDataSet.VisitsRow currentVisit = acceptChangesArgs.Visitor.CurrentVisit;
    if (currentVisit == null)
        return;

    Tracker.CurrentPage.RollBackValue(pageEventData, currentVisit);
});

此代码可防止在管道中某处已取消的页面的参与值增加。 然后我发现取消Sitecore.Analytics.RobotDetection.Media.MediaRequestEventHandler中的页面的代码由Sitecore.Analytics.RobotDetection.config启用:

using (new ContextItemSwitcher(obj))
{
    try
    {
        this.StartTracking();
        VisitorDataSet.PagesRow previousPage = Tracker.CurrentVisit.PreviousPage;
        if (previousPage != null)
        {
            Guid pageId = previousPage.PageId;
            foreach (VisitorDataSet.PageEventsRow pageEventsRow in Enumerable.ToArray<VisitorDataSet.PageEventsRow>(Tracker.CurrentPage.PageEvents))
                pageEventsRow.PageId = pageId;


            Tracker.CurrentPage.Cancel();
        }
        this.EndTracking();
    }
    catch (Exception ex)
    {
        Log.Error("Media request analytics failed", ex, this.GetType());
    }
}

因此,此MediaRequestEventHandler取消页面,因此参与值不会增加。我可以覆盖此行为或禁用RobotDetection.config,但我想了解后果以及为什么这样做,我知道有建议不要禁用Sitecore.Analytics.RobotDetection.config

所以我的问题是:为媒体项目下载分配点数的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

对于那些可能遇到同样问题的人来说,是sitecore支持的回复。这种行为被报告为一个错误,作为一种解决方法,他们建议在Sitecore.Analytics.RobotDetection.config中注释掉以下行:

<event name="media:request">
    <handler patch:instead="*[@type='Sitecore.Analytics.Media.MediaRequestEventHandler, Sitecore.Analytics']" type="Sitecore.Analytics.RobotDetection.Media.MediaRequestEventHandler, Sitecore.Analytics.RobotDetection" method="OnMediaRequest"/>
</event>