2013-07-16 2 views
1

Sitecore Analytics가 새로 도입되었으며 REST 서비스가 호출되면 일부 Analytics 데이터를 저장하려고하는 상황에 처했습니다.Sitecore Analytics : REST 서비스 (Sitecore 6.5)에서 이벤트 트리거

POST REST 서비스를 호출하기 위해 피들러를 사용하고 있습니다. REST 서비스 (비슷한 기사 Sitecore Analytics: Trigger profiles and events from webservice을 따랐습니다)에서 다음 코드를 작성했습니다. 나는 모든 PageEvents 표에 그러나

void TriggerPageEvent(string eventName) 
{ 
    if (!Tracker.IsActive) 
    { 
    Tracker.StartTracking(); 
    } 

    Sitecore.Data.Database db = Sitecore.Configuration.Factory.GetDatabase("web"); 
    Sitecore.Context.Item = db.GetItem("/sitecore"); 

    PageEventData pageEventData = new PageEventData(eventName); 
    pageEventData.Text = "Value is here"; 
    pageEventData.DataKey = String.Empty; 
    pageEventData.Data = " Data is here"; 
    pageEventData.ItemId = new Guid(Sitecore.Context.Item.ID.ToString()); 
    Tracker.CurrentPage.Register(pageEventData);     
    Tracker.Submit(); 
} 

/sitecore/system/Settings/Analytics/Page Events/에서, 내가 본하지 않는 레코드를 만들 한 올바른 더미 EVENTNAME MLN360_BLDG_CLK_EN을 통과하고있다. 이 코드를 사용하여 프리젠 테이션 레이아웃이 지정된 항목 (.aspx 페이지)에 붙여넣고 웹 브라우저를 사용하여이 항목 (.aspx 페이지)을 호출하면 레코드가 데이터베이스에 추가됩니다.

어떻게 이벤트를 등록 할 수 있습니까? webservice를 사용하고 또한 Fiddler와 같은 클라이언트를 사용하여 어떻게 테스트 할 수 있습니까? 그들은 "절반 지식은 매우 위험"말한대로

는 문제가 피들러를 사용하여이었다 당신에게

+0

Sitecore에서 PageEvent를 배포 했습니까? 콘텐츠 편집기에서 '검토'탭을 클릭 한 다음 '워크 플로우'체크에서 '배포'버튼을 클릭하십시오. 비록 당신이 이미 이것을하지 않았다면 나는 당신이 analytics tracker에 이벤트를 등록하려고 할 때 예외가 던져 질 것이라고 의심 할 것입니다. –

+0

@AdamWeber : 예, 이미 페이지 이벤트를 배포했습니다. 내 이벤트는 PageEventsDefinitions 테이블에서도 볼 수 있지만 PageEvents 테이블에서는 볼 수 없습니다. –

+0

흥미 롭습니다. 내 지역 환경에서 코드를 시도했지만 문제를 재현 할 수 없습니다. 즉, 페이지 이벤트가 PageEvents 테이블에 예상대로 등록되었습니다. 코드에 대한 유일한 수정 사항은 Sitecore.Context.Item 설정을 제거하는 것이 었습니다. DMS에서는이 작업을 수행 할 필요가 없습니다. Sitecore.Analytics.config에서 Analytics.TrackerChanges.FlushInterval 설정을 확인 했습니까? 아마도 간격이 큰 숫자로 설정되어 있고 추적기 데이터가 데이터베이스에 기록되는 데 오랜 시간이 걸릴 것입니까? –

답변

0

감사드립니다. 대신 Chrome의 Simple REST 클라이언트 확장 프로그램으로 요청을 변경하고 페이지 이벤트 테이블에서 이벤트를 볼 수있었습니다.