Plug-in Adobe : apl (appendToList)

IMPORTANT

Ce plug-in est fourni par le service Adobe Consulting afin de vous aider à tirer le meilleur parti d’Adobe Analytics. Le service à la clientèle d’Adobe ne fournit pas d’assistance pour ce plug-in, pas même pour l’installation ou le dépannage. Si vous avez besoin d’aide sur ce plug-in, contactez le gestionnaire de compte de votre organisation. Il peut organiser une réunion avec un consultant pour obtenir de l’aide.

Le plug-in apl vous permet d’ajouter en toute sécurité de nouvelles valeurs à des variables délimitées par, comme events, linkTrackVars, list et d’autres.

  • Si la valeur que vous souhaitez ajouter n’existe pas dans la variable, le code ajoute la valeur à la fin de la chaîne.
  • Si la valeur que vous souhaitez ajouter existe déjà dans la variable, ce plug-in ne modifie pas la valeur. Cette fonctionnalité permet à votre mise en œuvre d’éviter les valeurs en double.
  • Si la variable que vous souhaitez ajouter est vide, le plug-in la définit sur la nouvelle valeur.

Adobe recommande d’utiliser ce plug-in si vous souhaitez ajouter de nouvelles valeurs aux variables existantes qui contiennent une chaîne de valeurs délimitées. Ce plug-in n’est pas nécessaire si vous préférez concaténer des chaînes pour des variables contenant des valeurs délimitées.

Installation du plug-in à l’aide de l’extension Adobe Experience Platform Launch

Adobe propose une extension qui vous permet d’utiliser les plug-ins les plus couramment utilisés.

  1. Connectez-vous à launch.adobe.com à l’aide de vos identifiants Adobe ID.
  2. Cliquez sur la propriété de votre choix.
  3. Accédez à l’onglet Extensions, puis cliquez sur le bouton Catalogue.
  4. Installez et publiez l’extension Plug-ins Analytics communs.
  5. Si ce n’est pas déjà fait, créez une règle intitulée « Initialiser les plug-ins » avec la configuration suivante :
    • Condition : aucune
    • Événement : Core - Bibliothèque chargée (Haut de la page)
  6. Ajoutez une action à la règle ci-dessus avec la configuration suivante :
    • Extension : plug-ins Analytics communs
    • Type d’action : initialisation d’APL (Append To List)
  7. Enregistrez et publiez les modifications apportées à la règle.

Installation du plug-in à l’aide de l’éditeur de code personnalisé de Launch

Si vous ne souhaitez pas utiliser l’extension du plug-in, vous pouvez utiliser l’éditeur de code personnalisé.

  1. Connectez-vous à launch.adobe.com à l’aide de vos identifiants Adobe ID.
  2. Cliquez sur la propriété de votre choix.
  3. Accédez à l’onglet Extensions, puis cliquez sur le bouton Configurer sous l’extension Adobe Analytics.
  4. Développez l’accordéon Configurer le suivi à l’aide d’un code personnalisé, qui affiche le bouton Ouvrir l’éditeur.
  5. Ouvrez l’éditeur de code personnalisé et collez le code de plug-in fourni ci-dessous dans la fenêtre de modification.
  6. Enregistrez et publiez les modifications apportées à l’extension Analytics.

Installation du plug-in à l’aide d’AppMeasurement

Copiez et collez le code suivant n’importe où dans le fichier AppMeasurement après l’instanciation de l’objet de suivi Analytics (à l’aide de s_gi). La conservation des commentaires et des numéros de version du code dans votre mise en œuvre permet à Adobe de résoudre les éventuels problèmes.

/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: apl (appendToList) v4.0 */
function apl(lv,va,d1,d2,cc){var b=lv,d=va,e=d1,c=d2,g=cc;if("-v"===b)return{plugin:"apl",version:"4.0"};var h=function(){if("undefined"!==typeof window.s_c_il)for(var k=0,b;k<window.s_c_il.length;k++)if(b=window.s_c_il[k],b._c&&"s_c"===b._c)return b}();"undefined"!==typeof h&&(h.contextData.apl="4.0");window.inList=window.inList||function(b,d,c,e){if("string"!==typeof d)return!1;if("string"===typeof b)b=b.split(c||",");else if("object"!==typeof b)return!1;c=0;for(a=b.length;c<a;c++)if(1==e&&d===b[c]||d.toLowerCase()===b[c].toLowerCase())return!0;return!1};if(!b||"string"===typeof b){if("string"!==typeof d||""===d)return b;e=e||",";c=c||e;1==c&&(c=e,g||(g=1));2==c&&1!=g&&(c=e);d=d.split(",");h=d.length;for(var f=0;f<h;f++)window.inList(b,d[f],e,g)||(b=b?b+c+d[f]:d[f])}return b};
/******************************************** END CODE TO DEPLOY ********************************************/

Utilisation du plug-in

La méthode apl utilise les arguments suivants :

  • lv (obligatoire, chaîne) : variable qui contient une liste délimitée d’éléments à laquelle ajouter une nouvelle valeur.
  • vta (obligatoire, chaîne) : liste délimitée par des virgules indiquant la ou les nouvelles valeurs à ajouter à la valeur de l’argument lv.
  • d1 (facultatif, chaîne) : délimiteur utilisé pour séparer les valeurs individuelles déjà contenues dans l’argument lv. La valeur par défaut est une virgule (,) lorsqu’elle n’est pas définie.
  • d2 (facultatif, chaîne) : délimiteur de sortie. La valeur par défaut est la même que celle de d1 lorsqu’elle n’est pas définie.
  • cc (facultatif, booléen) : indicateur précisant si une vérification sensible à la casse est utilisée. Si la valeur est définie sur true, la vérification de duplication est sensible à la casse. Si elle est définie sur false ou non définie, la vérification de duplication n’est pas sensible à la casse. La valeur par défaut est false.

La méthode apl renvoie la valeur de l’argument lv plus toutes les valeurs non dupliquées de l’argument vta.

Exemples d’appels

Exemple 1

Si…

s.events = "event22,event24";

…et que le code suivant s’exécute…

s.events = s.apl(s.events, "event23");

…alors la valeur finale de s.events est :

s.events = "event22,event24,event23";

Exemple 2

Si…

s.events = "event22,event23";

…et que le code suivant s’exécute…

s.events = s.apl(s.events, "event23");

…alors la valeur finale de s.events reste :

s.events = "event22,event23";

Dans cet exemple, l’appel apl n’a apporté aucune modification à s.events, car cette variable contenait déjà event23.

Exemple 3

Si…

s.events = ""; //blank value

…et que le code suivant s’exécute…

s.events = s.apl(s.events, "event23");

…alors la valeur finale de s.events est…

s.events = "event23";

Exemple 4

Si…

s.prop4 = "hello|people";

…et que le code suivant s’exécute…

s.eVar5 = s.apl(s.prop4, "today", "|");

…alors la valeur finale de s.prop4 reste…

s.prop4 = "hello|people";

…mais la valeur finale de s.eVar5 est :

s.eVar5 = "hello|people|today";

Pour rappel, le plug-in renvoie uniquement une valeur. Il ne « réinitialise » pas nécessairement la variable transmise par le biais de l’argument lv.

Exemple 5

Si…

s.prop4 = "hello|people";

…et que le code suivant s’exécute…

s.prop4 = s.apl(s.prop4, "today");

…alors la valeur finale de s.prop4 est…

s.prop4 = "hello|people,today";

Veillez à ce que le délimiteur reste cohérent entre la valeur de l’argument lv et celle des arguments d1/d2.

Exemple 6

Si…

s.events = "event22,event23";

…et que le code suivant s’exécute…

s.events = s.apl(s.events,"EVenT23", ",", ",", true);

…alors la valeur finale de s.events est :

s.events = "event22,event23,EVentT23";

Bien que cet exemple ne soit pas concret, il démontre la nécessité de faire preuve de prudence lors de l’utilisation de l’indicateur sensible à la casse.

Exemple 7

Si…

s.events = "event22,event23";

…et que le code suivant s’exécute…

s.events = s.apl(s.events, "event23,event24,event25");

…alors la valeur finale de s.events est :

s.events = "event22,event23,event24,event25");

Le plug-in n’ajoute pas event23 à s.events, car il s’y trouve déjà. Cependant, il ajoute event24 et event25 à s.events car ni l’un ni l’autre n’y figurait auparavant.

Exemple 8

Si…

s.linkTrackVars = "events,eVar1";

…et que le code suivant s’exécute…

s.linkTrackVars = s.apl(s.linkTrackVars, "campaign", ",", ",", false);

…alors la valeur finale de s.linkTrackVars est :

s.linkTrackVars = "events,eVar1,campaign";

Les trois derniers arguments (c’est-à-dire ",", ",", false) à la fin de cet appel apl ne sont pas nécessaires, mais leur définition ne présente aucun inconvénient puisqu’ils correspondent aux valeurs d’argument par défaut.

Exemple 9

Si…

s.events = "event22,event24";

…et que le code suivant s’exécute…

s.apl(s.events, "event23");

…alors la valeur finale de s.events reste :

s.events = "event22,event24";

Exécuter le plug-in seul (sans attribuer la valeur renvoyée à une variable) ne « réinitialise » pas réellement la variable transmise par le biais de l’argument lv.

Exemple 10

Si…

s.list2 = "casesensitivevalue|casesensitiveValue"

…et que le code suivant s’exécute…

s.list2 = s.apl(s.list2, "CasESensiTiveValuE", "|", "-", true);

…alors la valeur finale de s.list2 est…

s.list2 = "casesensitivevalue-casesensitiveValue-CasESensiTiveValuE"

Comme les deux arguments du délimiteur sont différents, la valeur transmise sera délimitée par le premier argument du délimiteur (« | ») et ensuite associée au second argument du délimiteur (« - »).

Historique des versions

4.0 (19 mars 2021)

  • Ajout du numéro de version comme donnée contextuelle.

3.2 (25 septembre 2019)

  • Correction de problèmes de compatibilité avec les appels apl qui utilisaient d’anciennes versions du plug-in.
  • Suppression des avertissements sur la console pour en réduire la taille.
  • Ajout de inList 2.1.

3.1 (22 avril 2018)

  • L’argument d2 prend désormais par défaut la valeur de l’argument d1 lorsqu’il n’est pas défini.

3.0 (16 avril 2018)

  • Réanalyse/réécriture complète du plug-in.
  • Ajout d’une vérification avancée des erreurs.
  • L’argument vta accepte désormais plusieurs valeurs en même temps.
  • Ajout de l’argument d2 pour formater la valeur renvoyée.
  • Modification de l’argument cc en une valeur booléenne.

2.5 (18 février 2016)

  • Utilisation de la méthode inList pour le traitement des comparaisons.

2.0 (26 janvier 2016)

  • Argument d (délimiteur) désormais facultatif (par défaut, une virgule).
  • Argument u (indicateur de respect de la casse) désormais facultatif (par défaut, non-respect de la casse).
  • Quel que soit l’argument u (indicateur de respect de la casse), le plug-in n’ajoute plus de valeur à une liste si elle y figure déjà.

Sur cette 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