Solução de problemas de integração

Última atualização em 2023-12-07
  • Criado para:
  • Admin

Dicas gerais de solução de problemas

Verifique se não há erros de JavaScript

Verifique se o console JavaScript do navegador exibe erros. Erros não tratados podem impedir que o código subsequente seja executado corretamente. Caso haja erros, verifique qual script está causando o erro e em que área. O caminho para o script pode fornecer uma indicação à funcionalidade à qual o script pertence.

Efetuando logon no nível do componente

Em alguns casos, pode ser útil adicionar instruções adicionais no nível do componente. Como o componente é renderizado, você pode adicionar uma marcação temporária para mostrar valores de variável que podem ajudar a identificar possíveis problemas. Por exemplo:

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

<!--
<%= myJspVariable %>
-->

<!--
${ myHtlVariable }
-->

Para obter detalhes adicionais sobre registro, consulte a seção Logs e Trabalhar com registros de auditoria e arquivos de log páginas.

Problemas de integração do Analytics

O Importador de relatórios causa alto uso de CPU/memória

O Importador de relatórios causa alto uso de CPU/memória ou causa OutOfMemoryError exceções.

Solução

Para corrigir esse problema, você pode tentar o seguinte:

  • Verifique se não há uma grande quantidade de PollingImporters registrados (consulte a seção "Shutdown leva muito tempo devido ao PollingImporter" abaixo).
  • Execute importadores de relatórios em um determinado horário do dia usando expressões CRON para o ManagedPollingImporter configurações no Console OSGi.

Para obter mais detalhes sobre como criar serviços de importador de dados personalizados no AEM, leia o seguinte artigo https://helpx.adobe.com/experience-manager/using/polling.html.

O encerramento leva muito tempo devido ao Importador de buscas

O Analytics foi projetado tendo em mente um mecanismo de herança. Normalmente, você habilita o Analytics para um site adicionando uma referência a uma configuração do Analytics nas propriedades da página Cloud Service guia. A configuração é herdada para todas as subpáginas automaticamente, sem a necessidade de referenciá-la novamente, a menos que uma página exija uma configuração diferente. Adicionar uma referência a um site também cria automaticamente vários nós (12 para AEM 6.3 e anterior ou 6 para AEM 6.4 e posterior) do tipo cq;PollConfig que instancia os PollingImporters usados para importar os dados do Analytics para o AEM. Como resultado:

  • Ter muitas páginas referenciando o Analytics resulta em uma grande quantidade de Importadores de buscas.
  • Além disso, copiar e colar páginas com uma referência a uma configuração do Analytics leva a uma duplicação de PollingImporters.

Solução

Em primeiro lugar, a error.log O pode fornecer alguns insights sobre a quantidade de Importadores de buscas ativos ou registrados. Por exemplo:

# 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

Em segundo lugar, verifique se apenas as páginas principais (no alto da hierarquia) têm uma configuração do Analytics referenciada.

Para obter mais detalhes sobre como criar serviços de importador de dados personalizados no AEM, leia o seguinte artigo https://helpx.adobe.com/experience-manager/using/polling.html.

Problemas do DTM (herdado)

A tag do script do DTM não é renderizada na origem da página

A variável DTM a tag de script não está incluída corretamente na página mesmo que a configuração tenha sido referenciada nas propriedades da página Cloud Service guia.

Solução

Para corrigir o problema, tente o seguinte:

  • Verifique se as propriedades criptografadas podem ser descriptografadas (observe que a criptografia pode usar uma chave gerada automaticamente diferente em cada instância do AEM). Para obter detalhes adicionais, leia também Suporte de criptografia para propriedades de configuração.

  • Republicar as configurações encontradas em /etc/cloudservices/dynamictagmanagement

  • Verificar ACLs em /etc/cloudservices. As ACLs devem ser:

    • allow; jcr:read; webservice-support-servicelibfinder
    • permitir; jcr:read; todos; rep:glob:*/defaults/*
    • permitir; jcr:read; todos; rep:glob:*/defaults
    • permitir; jcr:read; todos; rep:glob:*/public/*
    • permitir; jcr:read; todos; rep:glob:*/public

Para obter mais informações sobre o gerenciamento de ACLs, leia a Administração e segurança do usuário página.

Problemas de integração do Target

O conteúdo direcionado não fica visível no modo de Visualização ao usar componentes de página personalizados

Esse problema ocorre porque os componentes de página personalizados não incluem as bibliotecas JSP ou de clientes corretas que lidam com as integrações do DTM do Target.

Solução

Você pode experimentar as seguintes soluções:

  • Verifique se a interface personalizada headlibs.jsp (se houver /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp) inclui o seguinte:
<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
  • Verifique se a interface personalizada head.html (se houver /apps/<CUSTOM-COMPONENTS-PATH>/head.html) não inclua seletivamente headlibs de integração específicos, como o exemplo abaixo:
<!-- DO NOT MANUALLY INCLUDE SPECIFIC CLOUD SERVICE HEADLIBS LIKE THIS -->
<meta data-sly-include="/libs/cq/dtm/components/dynamictagmanagement/headlibs.jsp" data-sly-unwrap/>

A variável servicelibs.jsp adiciona os objetos JavaScript necessários do analytics e carrega as bibliotecas do cloud service associadas ao site. Para o serviço do Target, as bibliotecas são carregadas por meio da /libs/cq/analytics/components/testandtarget/headlibs.jsp

O conjunto de bibliotecas carregadas depende do tipo de biblioteca do cliente de destino ( mbox.js ou at.js) usado na configuração do Target.

Ao usar o DTM para entregar mbox.js ou at.js verifique se as bibliotecas são carregadas antes que o conteúdo seja renderizado. Usar sistemas Tag Management que carregam essas bibliotecas de forma assíncrona pode causar problemas na execução do código JavaScript específico do público-alvo.

Para obter informações adicionais, leia a Desenvolvimento de conteúdo direcionado página.

O erro "ID ausente do conjunto de relatórios na inicialização do AppMeasurement" é exibido no console do navegador

Esse problema pode ocorrer quando o Adobe Analytics é implementado no site usando o DTM e o código personalizado. A causa é o uso da variável s = new AppMeasurement() para instanciar o s objeto.

Solução

Uso s_gi em vez de new AppMeasurement método de instanciação. Por exemplo:

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

Uma oferta padrão é exibida aleatoriamente em vez da oferta correta

Esse problema pode ter várias causas:

  • Carregamento de bibliotecas de clientes do Target ( mbox.js ou at.js) usando sistemas Tag Management de terceiros pode quebrar o direcionamento aleatoriamente. As bibliotecas do Target devem ser carregadas de forma síncrona no cabeçalho da página. Isso é sempre verdadeiro quando as bibliotecas são entregues a partir do AEM.

  • Carregamento de duas bibliotecas de cliente do Target ( at.js) simultaneamente, por exemplo, um usando o DTM e outro usando a configuração do Target no AEM. Isso pode causar conflitos para o adobe.target definição se a variável at.js diferentes.

Solução

Você pode experimentar as seguintes soluções:

  • Verifique se o código do cliente que carrega as bibliotecas do tipo DTM (que, por sua vez, carregam as bibliotecas do Target) é executado de forma síncrona na cabeçalho da página.
  • se o site estiver configurado para usar o DTM a fim de fornecer bibliotecas do Target, verifique se Clientlib entregue pelo DTM estiver marcada na caixa Configuração do Target para o site.

Uma oferta padrão é sempre exibida em vez da oferta correta ao usar AT.js 1.3+

O AEM 6.2 e 6.3 prontos para uso não é compatível com a AT.js versão 1.3.0+. Com a versão 1.3.0 da AT.js introduzindo a validação de parâmetros para suas APIs, adobe.target.applyOffer() exige um parâmetro "mbox" que não é fornecido pelo atjs-itegration.js código.

Solução

Para resolver esse problema, edite atjs-itegration.js e adicione o "mbox": mboxName no objeto de parâmetro para adobe.target.applyOffer() do seguinte modo:

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

A página Metas e configurações não mostra a seção Fontes de relatórios

Esse problema provavelmente é uma Configuração do A4T Analytics Cloud problema de provisionamento.

Solução

Você precisa verificar se o A4T está habilitado corretamente para sua conta Target, emitindo a seguinte solicitação de verificação para o AEM:

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"
}

Se a resposta contiver a linha a4tEnabled:false, contato Atendimento ao cliente Adobe para que sua conta seja provisionada corretamente.

APIs úteis do Target

Abaixo estão duas APIs do Target que podem ser úteis ao solucionar problemas do Target:

  • Recuperar o ponto de extremidade do Target para um determinado clientcode
https://admin.testandtarget.omniture.com/rest/v1/endpoint/<CLIENTCODE>.json

{"api":"https://admin<N>.testandtarget.omniture.com/admin/rest/v1"}
  • Recuperar o perfil de um cliente
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"
    ]
}

Nesta página