微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Sitecore 网站中发生下载触发事件时如何跟踪登录的用户电子邮件

如何解决在 Sitecore 网站中发生下载触发事件时如何跟踪登录的用户电子邮件

用户下载媒体项目的 PDF 扩展时,我想跟踪登录用户电子邮件

目前我可以跟踪下载,但不能跟踪他们登录用户电子邮件。 请告诉我如何在 Sitecore 9 中以编程方式对其进行自定义

解决方法

您可以使用 client.AddInteraction() 扩展方法向用户交互添加下载事件。例如,以下代码向现有联系人添加了与下载事件的新交互。

using Sitecore.XConnect.Client;
using Sitecore.XConnect.Collection.Model;
using Sitecore.XConnect;
using System;

...

using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
 {
     try
     {
         var existingContact = client.Get<Sitecore.XConnect.Contact>(new Sitecore.XConnect.IdentifiedContactReference("source","identifier"),new Sitecore.XConnect.ContactExpandOptions());

         if (existingContact != null)
         {
            Guid mediaItemId = Guid.NewGuid(); // Replace with real media item ID GUI
            Guid channelId = Guid.NewGuid(); // Replace with real channel ID GUID
            string userAgent = "Sample User Agent";

            // Interaction
            var interaction = new Interaction(existingContact,InteractionInitiator.Brand,channelId,userAgent);

            Sitecore.XConnect.Collection.Model.DownloadEvent downloadEvent = new DownloadEvent(DateTime.UtcNow,mediaItemId)
            {
              Text = "Some PDF Asset" // Not mandatory
            };

            interaction.Events.Add(downloadEvent);
            client.AddInteraction(interaction);
            client.Submit();
         }
     }
     catch (XdbExecutionException ex)
     {
         // Handle exception
     }
 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。