Show Menu
SUJETS×

Résolution des problèmes d’intégration

Conseils pratiques de dépannage

Vérification de l’absence d’erreur JavaScript

Vérifiez si des erreurs s’affichent sur la console JavaScript du navigateur. Les erreurs non prises en charge peuvent empêcher le code suivant de s’exécuter correctement. S’il y a des erreurs, vérifiez le script à l’origine de chaque erreur et dans quelle zone celle-ci s’est produite. Le chemin d’accès au script peut donner une indication de la fonctionnalité à laquelle le script est associé.

Connexion au niveau du composant

Dans certains cas, il peut s’avérer utile d’ajouter des instructions au niveau du composant. Puisque le composant est rendu, vous pouvez ajouter un balisage temporaire pour afficher les valeurs de variable qui pourraient vous aider à identifier les problèmes potentiels. Par exemple :
<%
log.info("myVariable={}", myVariable);
%>

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

<!--
${ myHtlVariable }
-->

For additional details about logging, see the Logging and Working with Audit Records and Log Files pages.

Problèmes d’intégration d’Analytics

L’importateur de rapports mobilise fortement le processeur/la mémoire

L’importateur de rapports mobilise fortement le processeur/la mémoire ou entraîne des exceptions de type OutOfMemoryError .

Solution

Pour résoudre ce problème, vous pouvez essayer la méthode suivante :
  • Vérifiez l’absence d’enregistrement d’une quantité importante d’importateurs d’interrogations (voir la section « L’arrêt prend un certain temps à cause de l’importateur d’interrogations » ci-dessous).
  • Exécutez les importateurs de rapports à un moment précis à l’aide des expressions CRON pour les configurations ManagedPollingImporter dans la console OSGi .
For additional details about creating custom data importer services in AEM, read the following article https://helpx.adobe.com/experience-manager/using/polling.html .

L’arrêt prend un certain temps à cause de l’importateur d’interrogations

Analytics a été conçu avec un mécanisme d’héritage. L’utilisateur active généralement Analytics pour un site en ajoutant une référence à une configuration Analytics dans l’onglet des propriétés de la page des Services cloud . Toutes les sous-pages héritent alors automatiquement de la configuration sans qu’il soit nécessaire d’ajouter à nouveau la référence, sauf si une page nécessite une configuration différente. Adding a reference to a site also automatically creates several nodes (12 for AEM 6.3 and earlier or 6 for AEM 6.4 and later) of the type cq;PollConfig which instantiates PollingImporters used to import Analytics data into AEM. Par conséquent :
  • Le fait d’avoir un grand nombre de pages référençant Analytics génère de nombreux importateurs d’interrogations.
  • De plus, la copie et le collage de pages avec une référence dans une configuration Analytics entraînent la duplication de ses importateurs d’interrogations.

Solution

Firstly, analyzing the error.log might give you some insight about the amount of active or registered PollingImporters. Par exemple :
# 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

Ensuite, vérifiez que seules les pages principales (en haut dans la hiérarchie) ont une configuration d’Analytics référencée.
For additional details about creating custom data importer services in AEM, read the following article https://helpx.adobe.com/experience-manager/using/polling.html .

Problèmes de gestion dynamique des balises (hérités)

La balise de script de gestion dynamique des balises n’est pas rendue dans la source de la page

La balise de script de gestion dynamique des balises n’est pas correctement incluse dans la page, même si la configuration a été référencée dans l’onglet des propriétés de la page des Services cloud .

Solution

Pour résoudre ce problème, vous pouvez essayer les méthodes suivantes :
  • Assurez-vous que les propriétés chiffrées peuvent être déchiffrées (notez que le chiffrement peut utiliser une clé générée automatiquement différente pour chaque instance AEM). Pour plus d’informations, voir aussi la section Prise en charge du chiffrement des propriétés de configuration .
  • Republish the configurations found in /etc/cloudservices/dynamictagmanagement
  • Check ACLs on /etc/cloudservices . Les listes de contrôle d’accès doivent être les suivantes :
    • allow; jcr:read; webservice-support-servicelibfinder
    • allow; jcr:read; tout le monde; rep:glob:&ast;/defaul/&ast;
    • allow; jcr:read; tout le monde; rep:glob:&ast;/default
    • allow; jcr:read; tout le monde; rep:glob:&ast;/public/&ast;
    • allow; jcr:read; tout le monde; rep:glob:&ast;/public
Pour plus d’informations sur la gestion des listes de contrôle d’accès, consultez la page Administration et sécurité des utilisateurs .

Problèmes d’intégration dans Target

Le contenu cible n’est pas visible en mode Aperçu lors de l’utilisation de composants de page personnalisés

Ce problème se produit parce que les composants de page personnalisés n’incluent pas le bon JSP ou les bibliothèques clientes qui gèrent les intégrations de gestion dynamique des balises dans Target.

Solution

Vous pouvez essayer les solutions suivantes :
  • Make sure the custom headlibs.jsp (if any /apps/<CUSTOM-COMPONENTS-PATH>/headlibs.jsp ) includes the following:
<%@include file="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" %>
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>

  • Make sure the custom head.html (if any /apps/<CUSTOM-COMPONENTS-PATH>/head.html ) does not selectively include specific integration headlibs like the example below:
<!-- DO NOT MANUALLY INCLUDE SPECIFIC CLOUD SERVICE HEADLIBS LIKE THIS -->
<meta data-sly-include="/libs/cq/dtm/components/dynamictagmanagement/headlibs.jsp" data-sly-unwrap/>

Le fichier servicelibs.jsp ajoute les objets d’analyse JavaScript requis et charge les bibliothèques de service cloud associées au site web. For Target service, the libraries are loaded via the /libs/cq/analytics/components/testandtarget/headlibs.jsp
Le jeu de bibliothèques chargé dépend du type de bibliothèque cliente cible ( mbox.js ou at.js ) ) utilisé dans la configuration de Target.
Lorsque vous utilisez la gestion dynamique des balises pour fournir mbox.js ou at.js , assurez-vous que les bibliothèques sont chargées avant que le contenu soit rendu. L’utilisation de systèmes de gestion des balises qui chargent ces bibliothèques de manière asynchrone risque d’entraîner des problèmes lors de l’exécution du code JavaScript spécifique à la cible.
Pour plus d’informations, consultez la page Développement pour le contenu ciblé .

L’erreur « Identifiant de suite de rapports manquant dans l’initialisation d’AppMeasurement » s’affiche dans la console du navigateur.

Ce problème peut apparaître lorsque Adobe Analytics est implémenté sur le site Web à l’aide de la gestion dynamique des balises et utilise du code personnalisé. The cause is using the s = new AppMeasurement() to instantiate the s object.

Solution

Use s_gi instead of the new AppMeasurement instantiation method. Par exemple :
var s_account="INSERT-RSID-HERE"
var s=s_gi(s_account)

Une offre par défaut s’affiche de manière aléatoire au lieu de l’offre correcte

Ce problème peut avoir plusieurs causes :
  • Loading Target client libraries ( mbox.js or at.js ) asynchronously using 3rd-party Tag Management Systems may randomly break targeting. Les bibliothèques cibles doivent être chargées de manière synchrone dans l’en-tête de la page. C’est toujours le cas lorsque les bibliothèques sont diffusées à partir d’AEM.
  • Loading two Target client libraries ( at.js ) simultaneously, for example, one using DTM and one using the Target configuration in AEM. Cela peut entraîner des conflits pour la définition d’ adobe.target si les versions d’ at.js diffèrent.

Solution

Vous pouvez essayer les solutions suivantes :
  • Assurez-vous que le code client utilisé pour charger les bibliothèques de gestion dynamique des balises (qui, à leur tour, chargent les bibliothèques cible) est exécuté de manière synchrone dans l’ en-tête de la page .
  • if the site is configured to use DTM to deliver Target libraries ensure that the Clientlib delivered by DTM option is checked in the Target configuration for the site.

Une offre par défaut s’affiche toujours à la place de l’offre correcte lors de l’utilisation d’AT.js 1.3+

Les versions prêtes à l’emploi AEM 6.2 et 6.3 ne sont pas compatibles avec AT.js version 1.3.0+. With AT.js version 1.3.0 introducing parameter validation for its APIs, adobe.target.applyOffer() requires an "mbox" parameter which is not provided by the atjs-itegration.js code.

Solution

To solve this issue edit atjs-itegration.js and add the "mbox": mboxName field in the parameter object for adobe.target.applyOffer() as follows:
adobe.target.getOffer({
    "mbox": mboxName,
    "params": params,
    "success": function (response) {
        adobe.target.applyOffer({
            "mbox": mboxName, //<--- ADDED PARAM
            "selector": "#" + mboxName,
            "offer": response
        })
    },

La page Objectifs et paramètres n’affiche pas la section Sources de création

This issue is most likely an A4T Analytics Cloud Configuration provisioning issue.

Solution

Vous devez vérifier qu’A4T est correctement activé pour votre compte Target en envoyant la demande de vérification suivante à 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"
}

Si la réponse contient la ligne a4tEnabled:false , contactez l’ Assistance clientèle Adobe pour que votre compte soit correctement configuré.

API Target utiles

Vous trouverez ci-dessous deux API Target qui peuvent s’avérer utiles lors du dépannage des problèmes dans Target :
  • Pour récupérer le point de terminaison Target pour un code client spécifique
https://admin.testandtarget.omniture.com/rest/v1/endpoint/<CLIENTCODE>.json

{"api":"https://admin<N>.testandtarget.omniture.com/admin/rest/v1"}

  • Pour récupérer le profil d’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"
    ]
}