protected override IEnumerable<DimensionData> GetData(IVisitAggregationContext context, NervaDemoMockData data) { yield return new DimensionData { DimensionKey = data.DeviceType ?? "(Unkown)", MetricsValue = CalculateCommonMetrics(context), }; }
protected override IEnumerable<DimensionData> GetData(IVisitAggregationContext context, NervaDemoMockData data) { if (data.ChannelTypeId.HasValue) { yield return new DimensionData { DimensionKey = "" + data.ChannelTypeId, MetricsValue = CalculateCommonMetrics(context), }; } }
public void Process(JObject visitTags, JObject requestData) { if (Tracker.Current != null && Tracker.Current.Interaction.PageCount == 1) { Tracker.Current.Contact.System.Classification = 0; var interaction = Tracker.Current.Interaction; interaction.TrafficType = (int?) visitTags["TrafficType"] ?? 20; interaction.Keywords = (string)visitTags["Keywords"] ?? ""; var extraData = new NervaDemoMockData(); var channelItemId = (Guid?) visitTags["ChannelItemId"]; if (channelItemId.HasValue) { var channelItem = Context.Database.GetItem(new ID(channelItemId.Value)); if (channelItem.TemplateID.Equals(_subchannelTemplateId)) { extraData.SubChannelId = channelItem.ID.Guid; channelItem = channelItem.Parent; } if (channelItem.TemplateID.Equals(_channelTemplateId)) { extraData.ChannelId = channelItem.ID.Guid; interaction.ChannelId = channelItem.ID.Guid; channelItem = channelItem.Parent; } if (channelItem.TemplateID.Equals(_channelTypeTemplateId)) { extraData.ChannelTypeId = channelItem.ID.Guid; } } extraData.DeviceType = visitTags.Value<string>("DeviceType") ?? "Desktop"; Tracker.Current.Interaction.CustomValues.Add("NervaDemo", JsonConvert.SerializeObject(extraData)); foreach (var ev in interaction.CurrentPage.PageEvents) { if (ev.IsGoal) { ev.CustomValues.Add("Goal Category", Guid.Empty); } } } }
protected abstract IEnumerable<DimensionData> GetData(IVisitAggregationContext context, NervaDemoMockData data);