Questo plug-in è fornito da Adobe Consulting come cortesia per aiutarvi a ottenere più valore da Adobe Analytics. L'Assistenza clienti Adobe non fornisce supporto per questo plug-in, inclusa l'installazione o la risoluzione dei problemi. Se avete bisogno di aiuto con questo plug-in, contattate l'Account Manager della vostra azienda. Possono organizzare una riunione con un consulente per assistenza.
Il apl
plug-in consente di aggiungere in modo sicuro nuovi valori a variabili delimitate da elenchi, come events
, linkTrackVars
, list
e altri.
Adobe consiglia di utilizzare questo plug-in se si desidera aggiungere nuovi valori alle variabili esistenti che contengono una stringa di valori delimitati. Questo plug-in non è necessario se si preferisce concatenare stringhe per variabili contenenti valori delimitati.
Adobe offre un’estensione che consente di utilizzare la maggior parte dei plug-in usati comunemente.
Se non desiderate utilizzare l'estensione del plug-in, potete utilizzare l'editor di codice personalizzato.
Copiate e incollate il seguente codice in qualsiasi punto del file AppMeasurement dopo che è stata creata un'istanza dell'oggetto di tracciamento Analytics (utilizzando s_gi
). La conservazione di commenti e numeri di versione del codice nell’implementazione consente ad Adobe di risolvere eventuali problemi.
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: apl (appendToList) v3.2 (Requires inList v2.0 or higher) */
s.apl=function(lv,vta,d1,d2,cc){if(!lv||"string"===typeof lv){if("undefined"===typeof this.inList||"string"!==typeof vta||""===vta)return lv;d1=d1||",";d2=d2||d1;1==d2&&(d2=d1,cc||(cc=1));2==d2&&1!=cc&&(d2=d1);vta=vta.split(",");for(var g=vta.length,e=0;e<g;e++)this.inList(lv,vta[e],d1,cc)||(lv=lv?lv+d2+vta[e]:vta[e])}return lv};
/* Adobe Consulting Plugin: inList v2.1 */
s.inList=function(lv,vtc,d,cc){if("string"!==typeof vtc)return!1;if("string"===typeof lv)lv=lv.split(d||",");else if("object"!== typeof lv)return!1;d=0;for(var e=lv.length;d<e;d++)if(1==cc&&vtc===lv[d]||vtc.toLowerCase()===lv[d].toLowerCase())return!0;return!1};
/******************************************** END CODE TO DEPLOY ********************************************/
Il apl
metodo utilizza i seguenti argomenti:
lv
(obbligatorio, stringa): Variabile che contiene un elenco delimitato di elementi a cui aggiungere un nuovo valorevta
(obbligatorio, stringa): Elenco delimitato da virgole dei nuovi valori da aggiungere al valore dell' lv
argomento.d1
(facoltativo, stringa): Il delimitatore utilizzato per separare i singoli valori già contenuti nell' lv
argomento. Il valore predefinito è una virgola (,
) se non è impostato.d2
(facoltativo, stringa): Il delimitatore di output. Il valore predefinito è lo stesso di quando d1
non è impostato.cc
(facoltativo, booleano): Flag che indica se viene utilizzata una verifica con distinzione tra maiuscole e minuscole. Se true
il controllo di duplicazione è sensibile alle maiuscole/minuscole. Se false
non è impostato, il controllo di duplicazione non fa distinzione tra maiuscole e minuscole. Il valore predefinito è false
.Il apl
metodo restituisce il valore dell' lv
argomento più eventuali valori non duplicati nell' vta
argomento.
Se viene mostrato…
s.events = "event22,event24";
…e viene eseguito il codice seguente…
s.events = s.apl(s.events, "event23");
… il valore finale di s.events sarà:
s.events = "event22,event24,event23";
Se viene mostrato…
s.events = "event22,event23";
…e viene eseguito il codice seguente…
s.events = s.apl(s.events, "event23");
… il valore finale di s.events sarà comunque:
s.events = "event22,event23";
In questo esempio, la chiamata apl non ha apportato modifiche a s.events in quanto s.events conteneva già "event23"
Se viene mostrato…
s.events = ""; //blank value
…e viene eseguito il codice seguente…
s.events = s.apl(s.events, "event23");
… il valore finale di s.events sarà…
s.events = "event23";
Se viene mostrato…
s.prop4 = "hello|people";
…e viene eseguito il codice seguente…
s.eVar5 = s.apl(s.prop4, "today", "|");
… il valore finale di s.prop4 sarà ancora…
s.prop4 = "hello|people";
…ma il valore finale di s.eVar5 sarà
s.eVar5 = "hello|people|today";
Tenere presente che il plug-in restituisce solo un valore; non reimposta necessariamente la variabile passata attraverso l'argomento lv.
Se viene mostrato…
s.prop4 = "hello|people";
…e viene eseguito il codice seguente…
s.prop4 = s.apl(s.prop4, "today");
… il valore finale di s.prop4 sarà…
s.prop4 = "hello|people,today";
Assicuratevi di mantenere il delimitatore coerente tra ciò che è presente nel valore dell'argomento lv e ciò che è contenuto negli argomenti d1/d2
Se viene mostrato…
s.events = "event22,event23";
…e viene eseguito il codice seguente…
s.events = s.apl(s.events,"EVenT23", ",", ",", true);
… il valore finale di s.events sarà:
s.events = "event22,event23,EVentT23";
Anche se questo esempio non è pratico, dimostra la necessità di prestare attenzione quando si utilizza il flag sensibile alle maiuscole/minuscole.
Se viene mostrato…
s.events = "event22,event23";
…e viene eseguito il codice seguente…
s.events = s.apl(s.events, "event23,event24,event25");
… il valore finale di s.events sarà:
s.events = "event22,event23,event24,event25");
Il plug-in non aggiungerà "event23" a s.events perché esiste già in s.events. Tuttavia, aggiungerà a s.events sia event24 che event25 perché nessuno dei due era contenuto in precedenza in s.events.
Se viene mostrato…
s.linkTrackVars = "events,eVar1";
…e viene eseguito il codice seguente…
s.linkTrackVars = s.apl(s.linkTrackVars, "campaign", ",", ",", false);
… il valore finale di s.linkTrackVars sarà:
s.linkTrackVars = "events,eVar1,campaign";
Gli ultimi tre argomenti (vale a dire ",", ",", false) alla fine di questa chiamata apl non sono necessari ma non "fanno male a nulla" perché vengono impostati in quanto corrispondono ai valori dell'argomento predefinito.
Se viene mostrato…
s.events = "event22,event24";
…e viene eseguito il codice seguente…
s.apl(s.events, "event23");
… il valore finale di s.events sarà comunque:
s.events = "event22,event24";
L'esecuzione del plug-in da sola (senza assegnare il valore restituito a una variabile) in realtà non "reimposta" la variabile passata attraverso l'argomento lv.
Se viene mostrato…
s.list2 = "casesensitivevalue|casesensitiveValue"
…e viene eseguito il codice seguente…
s.list2 = s.apl(s.list2, "CasESensiTiveValuE", "|", "-", true);
… il valore finale di s.list2 sarà:
s.list2 = "casesensitivevalue-casesensitiveValue-CasESensiTiveValuE"
Poiché i due argomenti di delimitazione sono diversi, il valore passato sarà delimitato dal primo argomento di delimitazione ("|") e quindi unito dal secondo argomento di delimitazione ("-")
apl
le chiamate che utilizzavano versioni precedenti del plug-ininList 2.1
d2
argomento ora per impostazione predefinita viene impostato il valore dell' d1
argomento quando non è impostatovta
argomento ora accetta più valori alla voltad2
argomento per formattare il valore restituitocc
argomento è stato modificato in booleanoinList
metodo di elaborazione del confrontod
(Delimitatore) ora facoltativo (impostazione predefinita: una virgola)u
(Flag di distinzione tra maiuscole e minuscole) ora è facoltativo (impostazione predefinita: senza distinzione tra maiuscole e minuscole)u
(flag di sensibilità alle maiuscole/minuscole), il plug-in non aggiunge più un valore a un elenco se il valore esiste già nell'elenco