2016-03-22 6 views
3

Sitecore 7.2リビジョン140526 + DMSを使用します。メディアアイテム(PDF)に目標を割り当てようとしています。このメディアアイテムをダウンロードしようとすると、目標はPageEventsテーブルに登録されますが、訪問のEngagement Valueは変更されません。私はStartTrackingProcessorの内側に次のコードを見つけました:メディアアイテムのSitecoreの目標はエンゲージメントの価値に影響しません

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); 
}); 

このコードは、パイプラインのどこかでキャンセルされたページのために大きくなるの関与値を防ぐことができます。 そして、私はwhech Sitecore.Analytics.RobotDetection.configで有効になってSitecore.Analytics.RobotDetection.Media.MediaRequestEventHandlerでページをキャンセルするコードが見つかりました:

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を無効にすることができますが、結果を理解したいのですが、なぜこのようにしたのですか?メディアアイテムのダウンロードのための訪問にポイントを割り当てる最善の方法は?

+0

は常にキャンセルまたはメディアファイルへのリクエストであることは、最初の要求がある場合にのみ、セッションの? 7.5の改良点の1つは、初めての訪問時にメディアのロボット検出を修正することでした。だから、これはSitecoreのサポートがあなたを助けてくれるものかもしれません。 –

+0

@BenGoldenコードから、そして私がテストするときに見るものから、それはいつも取り消されるように見えます。 – Elena

+0

確認するには、ページのレイアウトにVisitorIdentificationコントロールがありますか? –

答えて

1

ここで同じ問題に遭遇する可能性のある人は、サイトセンターのサポートからの回答です。この動作はバグとして報告し、回避策として、彼らは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>