集成问题疑难解答

一般疑难解答提示

确保没有JavaScript错误

检查浏览器的JavaScript控制台是否显示任何错误。 未处理的错误可能会阻止后续代码正确执行。 如果有错误,请检查导致错误的脚本以及在哪个区域。 脚本的路径可能会指示脚本属于哪些功能。

登录组件级别

在某些情况下,在组件级别添加其他语句可能会很有帮助。 由于渲染了组件,因此您可以添加临时标记来显示可能有助于识别潜在问题的变量值。 例如:

<%
log.info("myVariable={}", myVariable);
%>
  
<!--
<%= myJspVariable %>
-->

<!--
${ myHtlVariable }
-->

有关日志记录的其他详细信息,请参阅日志记录使用审计记录和日志文件页。

分析集成问题

报告导入程序导致CPU/内存使用率高

报表导入程序导致CPU/内存使用率高或导致OutOfMemoryError异常。

解决方案

要解决此问题,可尝试:

  • 确保注册的PollingImporter数量不大(请参阅下面的“由于PollingImporter的原因而关闭需要很长时间”部分)。
  • 在一天的某个时间,对OSGi控制台中的ManagedPollingImporter配置使用CRON表达式,运行报告导入器。

有关在AEM中创建自定义数据导入程序服务的其他详细信息,请阅读以下文章https://helpx.adobe.com/experience-manager/using/polling.html

由于轮询导入程序,关闭需要很长时间

设计分析时考虑了继承机制。 通常,通过在页面属性Cloud Services选项卡中添加对Analytics配置的引用,为站点启用Analytics。 然后,该配置会自动继承到所有子页面,无需再次引用它,除非页面需要其他配置。 添加对站点的引用还会自动创建类型cq;PollConfig的多个节点(AEM 6.3及更早版本的节点12或AEM 6.4的节点6),这些节点将实例化用于将Analytics数据导入AEM的PollingImporters。 因此:

  • 如果有大量引用Analytics的页面,则会导致大量的PollingImporter。
  • 此外,复制并粘贴引用Analytics配置的页面会导致复制其PollingImporters。

解决方案

首先,分析error.log可能会让您对活动或已注册的轮询导入器数量有一些了解。 例如:

# Count PollingImporter entries
$ sed -n "s/.*(aem-analytics-integration-.*).*target=\(.*\),interval.*/\1/p" error.log | wc -l
86415
# Count PollingImporter entries for last30days
$ sed -n "s/.*(aem-analytics-integration-last30Days).*target=\(.*\),interval.*/\1/p" error.log | wc -l
14531
# Count unique paths of PollingImporter registrations
sed -n "s/.*(aem-analytics-integration-.*).*target=\(.*\)\/jcr:content.*/\1/p" error.log | sort | uniq -c
28115

其次,确保只有顶级页面(在层次结构中较高)引用了Analytics配置。

有关在AEM中创建自定义数据导入程序服务的其他详细信息,请阅读以下文章https://helpx.adobe.com/experience-manager/using/polling.html

DTM(旧版)问题

DTM脚本标记未呈现在页面源中

即使在页面属性Cloud Services选项卡中引用了配置,页面中也未正确包含DTM脚本标记。

解决方案

要解决此问题,可尝试:

  • 确保加密的属性可以解密(请注意,加密可能在每个AEM实例上使用不同的自动生成的密钥)。 有关其他详细信息,请阅读配置属性的加密支持

  • 重新发布在/etc/cloudservices/dynamictagmanagement中找到的配置

  • 检查/etc/cloudservices上的ACL。 ACL应为:

    • 允许;jcr:read;webservice-support-servicelibfinder
    • 允许;jcr:read;每个人;rep:glob:&ast;/defaults/&ast;
    • 允许;jcr:read;每个人;rep:glob:&ast;/defaults
    • 允许;jcr:read;每个人;rep:&ast;/public/&ast;
    • 允许;jcr:read;每个人;rep:glob:&ast;/public

有关管理ACL的详细信息,请阅读用户管理和安全页。

目标集成问题

使用自定义页面组件时,目标内容在预览模式下不可见

出现此问题的原因是自定义页面组件不包含处理目标DTM集成的正确JSP或客户端库。

解决方案

您可以尝试以下解决方案:

  • 确保自定义headlibs.jsp(如果有/apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp)包含以下内容:
<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp?lang=zh-Hans" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
  • 确保自定义head.html(如果有/apps/<CUSTOM-COMPONENTS-PATH>/head.html不会选择性地包含特定集成头,如以下示例:
<!-- DO NOT MANUALLY INCLUDE SPECIFIC CLOUD SERVICE HEADLIBS LIKE THIS -->
<meta data-sly-include="/libs/cq/dtm/components/dynamictagmanagement/headlibs.jsp?lang=zh-Hans" data-sly-unwrap/>

servicelibs.jsp将添加所需的分析JavaScript对象并加载与网站关联的云服务库。 对于目标服务,库通过/libs/cq/analytics/components/testandtarget/headlibs.jsp

加载的库集取决于目标配置上使用的目标客户端库(mbox.jsat.js)的类型。

使用DTM传送mbox.jsat.js时,请确保在呈现内容之前加载库。 使用异步加载这些库的标签管理系统可能会导致执行目标特定JavaScript代码时出现问题。

有关详细信息,请阅读为目标内容进行开发页。

浏览器控制台中显示错误“AppMeasurement初始化中缺少报告套件ID”

当使用DTM在网站上实现Adobe Analytics并使用自定义代码时,可能会出现此问题。 原因是使用s = new AppMeasurement()实例化s对象。

解决方案

使用s_gi代替new AppMeasurement实例化方法。 例如:

var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)

默认优惠会随机显示,而不是正确的优惠

此问题可能有多个原因:

  • 使用第三方标签管理系统异步加载目标客户端库(mbox.jsat.js)可能会随机中断定位。 目标库应同步加载到页面头中。 从AEM提供库时,这一点始终如一。

  • 同时加载两个目标客户端库(at.js),例如,一个使用DTM,另一个使用AEM中的目标配置。 如果at.js版本不同,这可能导致adobe.target定义发生冲突。

解决方案

您可以尝试以下解决方案:

  • 确保在页面标题中同步执行加载类似DTM的库(依次加载目标库)的客户代码。
  • 如果将站点配置为使用DTM传送目标库,则确保在站点的目标配置中选中由DTM 传送的 Clientlib选项。

使用AT.js 1.3+时,始终显示默认优惠,而不是正确的优惠

现成的AEM 6.2和6.3与AT.js版本1.3.0+不兼容。 在AT.js版本1.3.0中引入了API的参数验证后,adobe.target.applyOffer()需要一个“mbox”参数,而该参数不是由atjs-itegration.js代码提供的。

解决方案

要解决此问题,请编辑atjs-itegration.js并在adobe.target.applyOffer()的参数对象中添加"mbox": mboxName字段,如下所示:

adobe.target.getOffer({
    "mbox": mboxName,
    "params": params,
    "success": function (response) {
        adobe.target.applyOffer({
            "mbox": mboxName, //<--- ADDED PARAM
            "selector": "#" + mboxName,
            "offer": response
        })
    },

“目标和设置”页不显示“报告源”部分

此问题很可能是A4TAnalytics Cloud配置供应问题。

解决方案

您需要通过向AEM发出以下验证请求来验证目标帐户是否正确启用了A4T:

http://localhost:4502/etc/cloudservices/testandtarget/<YOUR-CONFIG>/jcr:content.a4t.json
 
{
    "a4tEnabled": true,
    "sharedsecret": "SECRET",
    "proxyUrl": "/libs/cq/contentinsight/content/proxy.reportingservices.json",
    "active": "true",
    "pageName": "",
    "url": "https://api5.omniture.com/rs/0.5/",
    "username": "USER@DOMAIN"
}

如果响应包含行a4tEnabled:false,请联系Adobe客户服务中心以正确设置您的帐户。

有用的目标API

以下是两个目标API,在对目标问题进行故障诊断时,这些API可能会很有用:

  • 检索给定客户端代码的目标端点
https://admin.testandtarget.omniture.com/rest/v1/endpoint/<CLIENTCODE>.json
 
{"api":"https://admin<N>.testandtarget.omniture.com/admin/rest/v1"}
  • 检索客户端的用户档案
https://admin<N>.testandtarget.omniture.com/admin/rest/v1/clients/<CLIENT>?email=<EMAIL>&password=<PASSWORD>
 
Response for N=4, CLIENT-dayintegrationintern
{
    "clientCode": "dayintegrationintern",
    "companyName": "Day Integration - Internal",
    "omnitureCompanyId": "Day Integration Internal",
    "softTraxId": -1,
    "address1": "XYZ",
    "city": "San Francisco",
    "state": "ca",
    "zip": "94107",
    "country": "UNITED STATES",
    "locale": "de_DE",
    "timeZone": "Europe/Berlin",
    "phone": "XX-XX-XXXX",
    "serviceLevel": "Up to 100,000",
    "privileges": [
        "a4t",
        "hosts",
        "TnT-SC-integration",
        "mvt",
        "steps",
        "testing-campaigns",
        "view-snapshot",
        "on-site-editor",
        "optimizing-campaign",
        "third-party-id-support",
        "landing-page-campaigns",
        "segment",
        "rest-create-user",
        "advanced-targeting",
        "mobile-device-targeting",
        "beta",
        "geolocation"
    ]
}

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now