Risoluzione dei problemi di integrazione

Suggerimenti generali per la risoluzione dei problemi

Verificare che non siano presenti errori JavaScript

Verificate se la console JavaScript del browser presenta errori. Errori non gestiti potrebbero impedire che il codice successivo venga eseguito correttamente. In caso di errori, verificare lo script che causa l'errore e in quale area. Il percorso dello script potrebbe fornire un'indicazione delle funzionalità a cui appartiene lo script.

Accesso a livello di componente

In alcuni casi, potrebbe essere utile aggiungere istruzioni aggiuntive a livello di componente. Dal momento che è stato eseguito il rendering del componente, è possibile aggiungere una marcatura temporanea per visualizzare i valori variabili che possono facilitare l'identificazione di potenziali problemi. Esempio:

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

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

<!--
${ myHtlVariable }
-->

Per ulteriori dettagli sulla registrazione, vedere le pagine Registrazione e Utilizzo dei record di controllo e dei file di registro.

Problemi di integrazione di Analytics

Importazione report causa un utilizzo elevato di CPU/memoria

Importazione report causa un utilizzo elevato di CPU/memoria o causa OutOfMemoryError eccezioni.

Soluzione

Per risolvere questo problema, potete provare quanto segue:

  • Verificare che non ci sia una grande quantità di PollingImporter registrati (vedere la sezione "Shutdown impiega molto tempo a causa di PollingImporter" sotto).
  • Eseguite gli importatori di report in un determinato momento della giornata utilizzando le espressioni CRON per le ManagedPollingImporter configurazioni nella console OSGi.

Per ulteriori dettagli sulla creazione di servizi di importazione dati personalizzati in AEM, consultate il seguente articolo https://helpx.adobe.com/experience-manager/using/polling.html.

L'arresto richiede molto tempo a causa di PollingImporter

Analytics è stato progettato pensando a un meccanismo di ereditarietà. Solitamente, puoi abilitare Analytics per un sito aggiungendo un riferimento a una configurazione Analytics nella scheda delle proprietà della pagina Servizi cloud. La configurazione viene quindi ereditata automaticamente a tutte le sottopagine senza la necessità di farvi nuovamente riferimento, a meno che una pagina non richieda una configurazione diversa. L’aggiunta di un riferimento a un sito crea automaticamente diversi nodi (12 per AEM 6.3 e versioni precedenti o 6 per AEM 6.4 e versioni successive) del tipo cq;PollConfig che crea un’istanza di PollingImporter utilizzata per importare dati di Analytics in AEM. Di conseguenza:

  • La presenza di molte pagine che fanno riferimento ad Analytics porta a un elevato numero di Importazione polling.
  • Inoltre, copiando e incollando pagine con un riferimento a una configurazione di Analytics si crea una duplicazione dei relativi PollingImporter.

Soluzione

In primo luogo, l’analisi di error.log potrebbe fornire alcune informazioni sulla quantità di PollingImporter attivi o registrati. Esempio:

# 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

In secondo luogo, accertatevi che solo le pagine principali (in alto nella gerarchia) abbiano un riferimento alla configurazione di Analytics.

Per ulteriori dettagli sulla creazione di servizi di importazione dati personalizzati in AEM, consultate il seguente articolo https://helpx.adobe.com/experience-manager/using/polling.html.

Problemi DTM (legacy)

Il tag script DTM non viene rappresentato nell'origine della pagina

Il tag script DTM non è incluso correttamente nella pagina anche se alla configurazione è stato fatto riferimento nella scheda delle proprietà della pagina Cloud Services .

Soluzione

Per risolvere il problema, potete provare quanto segue:

  • Assicuratevi che le proprietà crittografate possano essere decrittografate (tenete presente che la crittografia potrebbe utilizzare una chiave generata automaticamente diversa per ogni istanza di AEM). Per ulteriori dettagli, consultate anche Supporto crittografia per le proprietàdi configurazione.

  • Ripubblica le configurazioni trovate in /etc/cloudservices/dynamictagmanagement

  • Selezionare ACL in /etc/cloudservices. Gli ACL devono essere:

    • allow; jcr:read; webservice-support-servicelibfinder
    • allow; jcr:read; tutti; rep:idspn:&ast;/default/&ast;
    • allow; jcr:read; tutti; rep:idspn:&ast;/defas
    • allow; jcr:read; tutti; rep:idspn:&ast;/public/&ast;
    • allow; jcr:read; tutti; rep:idspn:&ast;/public

Per ulteriori informazioni sulla gestione degli ACL, vedere la pagina Amministrazione utente e sicurezza .

Problemi di integrazione di Target

Contenuto di destinazione non visibile in modalità Anteprima quando si utilizzano componenti di pagina personalizzati

Questo problema si verifica perché i componenti della pagina personalizzata non includono le librerie JSP o client corrette per la gestione delle integrazioni DTM di Target.

Soluzione

Potete provare le soluzioni seguenti:

  • Accertatevi che l' headlibs.jsp (se presente) personalizzato /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jspincluda quanto segue:
<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
  • Accertatevi che l' head.html (se presente) personalizzato /apps/<CUSTOM-COMPONENTS-PATH>/head.html) non includa selettivamente delle cuffie di integrazione specifiche, come nell'esempio seguente:
<!-- DO NOT MANUALLY INCLUDE SPECIFIC CLOUD SERVICE HEADLIBS LIKE THIS -->
<meta data-sly-include="/libs/cq/dtm/components/dynamictagmanagement/headlibs.jsp" data-sly-unwrap/>

L' servicelibs.jsp utente aggiunge gli oggetti JavaScript di analisi richiesti e carica le librerie dei servizi cloud associate al sito Web. Per il servizio Target, le librerie vengono caricate tramite il /libs/cq/analytics/components/testandtarget/headlibs.jsp

Il set di librerie che vengono caricate dipende dal tipo di libreria client di destinazione ( mbox.js o at.js) utilizzata nella configurazione di Target.

Quando utilizzate Gestione dinamica dei tag per distribuire mbox.js o at.js verificare che le librerie siano caricate prima del rendering del contenuto. L'utilizzo di sistemi di gestione dei tag che caricano queste librerie in modo asincrono potrebbe causare problemi durante l'esecuzione del codice JavaScript specifico di destinazione.

Per ulteriori informazioni, consultate la pagina Sviluppo per contenuti mirati.

Nella console del browser viene visualizzato l’errore "ID suite di rapporti mancante nell’inizializzazione AppMeasurement"

Questo problema potrebbe verificarsi quando Adobe Analytics viene implementato sul sito Web utilizzando DTM e utilizza il codice personalizzato. La causa è l'utilizzo dell'oggetto s = new AppMeasurement() per creare un'istanza dell' s oggetto.

Soluzione

Utilizzare s_gi invece del metodo di new AppMeasurement creazione dell'istanza. Esempio:

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

Un'offerta predefinita viene visualizzata in modo casuale al posto dell'offerta corretta

Questo problema può essere dovuto a più cause:

  • Il caricamento delle librerie client Target ( mbox.js o at.js) in modo asincrono tramite sistemi di gestione tag di terze parti potrebbe interrompere il targeting in modo casuale. Le librerie Target devono essere caricate in modo sincrono nell'intestazione della pagina. Questo è sempre vero quando le librerie vengono distribuite da AEM.

  • Caricamento simultaneo di due librerie client Target ( at.js), ad esempio una con Gestione dinamica dei tag e una con la configurazione di Target in AEM. Ciò può causare gli arresti anomali per la adobe.target definizione se le at.js versioni sono diverse.

Soluzione

Potete provare le soluzioni seguenti:

  • Assicurati che il codice cliente che carica le librerie simili a Gestione dinamica dei tag (che a loro volta caricano le librerie Target) sia eseguito in modo sincrono nell'intestazione dellapagina.
  • se il sito è configurato per utilizzare DTM per distribuire le librerie Target, assicurati che l'opzione Clientlib consegnata da DTM sia selezionata nella configurazione Target del sito.

Quando si utilizza AT.js 1.3+, viene sempre visualizzata un'offerta predefinita al posto dell'offerta corretta

AEM 6.2 e 6.3 non è compatibile con AT.js versione 1.3.0+. Con AT.js versione 1.3.0 che introduce la convalida dei parametri per le sue API, adobe.target.applyOffer() richiede un parametro "mbox" che non è fornito dal atjs-itegration.js codice.

Soluzione

Per risolvere questo problema, modificate atjs-itegration.js e aggiungete il "mbox": mboxName campo nell’oggetto del parametro per adobe.target.applyOffer() :

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

La pagina Goals & Settings (Obiettivi e impostazioni) non mostra la sezione Reporting Sources (Origini di rapporti)

Questo problema è probabilmente un problema di provisioning di configurazione cloud di Analytics A4T.

Soluzione

È necessario verificare che A4T sia abilitato correttamente per l'account Target emettendo la seguente richiesta di verifica ad 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 la risposta contiene la riga, contatta l’Assistenza a4tEnabled:falseclienti Adobe per ottenere il provisioning corretto dell’account.

API Target utili

Di seguito sono riportate due API Target che potrebbero essere utili per risolvere i problemi di Target:

  • Recuperare l'endpoint Target per un codice cliente specificato
https://admin.testandtarget.omniture.com/rest/v1/endpoint/<CLIENTCODE>.json

{"api":"https://admin<N>.testandtarget.omniture.com/admin/rest/v1"}
  • Recuperare il profilo di un client
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"
    ]
}

In questa pagina