检查数据收集请求
检查请求会显示您的实施已发送的内容、服务器是否响应以及Edge Network对Web SDK如何处理事件。 本文介绍诊断工作流的传出请求、服务器接收和Edge处理阶段。
要选择检查工具,请参阅调试工具。 要查看您的实施在发送请求之前的操作,请参阅启用调试日志记录。 有关属于特定Adobe应用程序的端点、请求格式和验证步骤,请参阅特定于产品的调试。
检查Web请求 web
使用浏览器开发人员工具或标记调试器从网页捕获请求:
浏览器工具显示源自浏览器的流量。 它们不会公开来自应用程序服务器或事件转发规则的传出调用。
读取Edge Network请求 edge-network-requests
对于使用Adobe Experience Platform Web SDK的实施,过滤网络请求:
/ee/
选择请求并检查其有效负载以查看发送到Edge Network的数据。 此筛选器与默认的Web SDK基本路径匹配;如果您的实施更改edgeBasePath,请改为筛选配置的路径或集合主机。
Web SDK请求URL使用https://{edgeDomain}/ee/[{locationHint}/]v1/{action}?configId={datastreamId}&requestId={requestId}格式。 默认edgeDomain为edge.adobedc.net;第一方实施使用自己的CNAME。 URL的以下部分提供了有用的证据:
interact操作:默认值。 Edge Network会返回响应内容,如身份、个性化、警告和错误,您可以在请求响应中检查这些内容。collect操作:在Web SDK发送带有sendBeacon的事件时使用,documentUnloading在建立标识后选择此事件。 这些请求不会将响应内容返回到页面。configId参数:请求使用的数据流ID。 如果事件使用数据流ID覆盖,则此参数包含该覆盖。 将其与您预期的数据流进行比较。
Edge Network可以将数据转发到数据流中配置的服务。 检查客户端请求会显示客户端尝试发送的内容;它本身不会确认服务器接收或下游处理。
检查移动和服务器请求 mobile-server
对于Mobile SDK实施,请将Assurance扩展添加到您的应用程序中,并将其连接到Assurance会话,以检查SDK事件和支持的验证视图。 在需要HTTP级别证据时使用HTTP调试代理,具体取决于您应用程序的证书和网络配置。 若要在本机开发工具中检查消息,请参阅Mobile SDK日志记录。
对于服务器SDK、直接Edge Network API或其他服务器端实施,请检查服务器的传出请求、HTTP状态、响应正文和错误。 使用运行时的HTTP工具或为该服务器配置的代理。 对应用程序发出的浏览器请求不会显示从您的服务器到Adobe的单独请求。 有关SDK诊断输出,请参阅服务器SDK日志记录。
SDK日志或成功的HTTP响应是收集特定阶段的证据,而不是显示所有已配置目标已处理事件的证据。
跟踪Edge Network处理 edge-processing
对于Web SDK实施,在Adobe Experience Platform Debugger中使用Edge跟踪查看Edge Network收到的请求、应用的数据流配置以及发送到数据流中服务的请求。 Edge跟踪还会在Assurance会话中打开相同的数据。 对于移动SDK实施,请直接将应用程序连接到Assurance;请参阅检查移动和服务器请求。
请勿将传入事件或响应句柄视为每个下游服务都处理它的确认。 继续使用相关应用程序的调试指南。
对于事件转发,监视活动提供使用情况、传出错误和计算时间报告。 其聚合报告可帮助识别失败的目标,但不是按事件交付的跟踪。
已中止的请求 aborted-requests
当页面导航离开时,浏览器可以取消仍在进行的请求。 Firefox为这些请求添加标签NS_BINDING_ABORTED;Chrome和Edge为它们添加标签(canceled)。 若要在导航后保持请求可见,请启用保留日志 (Chrome和Edge)或保留日志 (Firefox)。
取消的请求并不一定意味着数据丢失。 浏览器可能已发送完整请求,并且仅停止等待响应。 使用带有keepalive的navigator.sendBeacon()或fetch的请求可以在导航后继续发送,即使开发人员工具显示已取消状态也是如此。 保留日志可保持条目可见;它不会确认投放。
要进行调查,请在重现导航之前打开调试器或代理,并检查捕获的请求和任何服务器响应。 捕获的服务器响应提供了终结点处理请求的证据;仅传出请求无法处理。 对于Web SDK,Edge跟踪中的传入请求提供了服务器端证据。 这些观察结果都没有确定下游报告中的可用性。
浏览器不会向调用的JavaScript公开来自sendBeacon的HTTP响应。 因此,SDK使用sendBeacon的调试消息报告无法确认接收。
Web SDK的documentUnloading选择受标识和有效负载约束的可卸载传输。 此选项无法发送在页面卸载时仍在排队的事件;请参阅事件可能丢失时。 将数据直接发送到Adobe应用程序的库可提供类似的选项;请参阅该应用程序的调试指南。