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 rfl
plug-in consente di rimuovere in modo "sicuro" i valori dalle stringhe delimitate, ad esempio events
, products
, list
ecc. Questo plug-in è utile per rimuovere valori specifici da una stringa delimitata senza preoccuparsi dei delimitatori. Molti altri plug-in dipendono da questo codice per essere eseguiti correttamente. Questo plug-in non è necessario se non è necessario eseguire una funzione specifica su più variabili Analytics alla volta, oppure se non si utilizzano plug-in dipendenti.
Il plug-in utilizza la logica seguente:
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: rfl (removeFromList) v2.01 */
s.rfl=function(lv,vr,d1,d2,df){if(!lv||!vr)return"";var d=[],b="";d2=d2?d2:d1;df=df?!0:!1;lv=lv.split(d1?d1:",");d1=lv.length;for(var c=0;c<d1;c++)-1<lv[c].indexOf(":")&&(b=lv[c].split(":"),b[1]=b[0]+":"+b[1],lv[c]=b[0]),-1<lv[c].indexOf("=")&&(b=lv[c].split("="), b[1]=b[0]+"="+b[1],lv[c]=b[0]),lv[c]!==vr&&b?d.push(b[1]):lv[c]!==vr?d.push(lv[c]):lv[c]===vr&&df&&(b?d.push(b[1]):d.push(lv[c]),df=!1),b="";return d.join(d2)};
/******************************************** END CODE TO DEPLOY ********************************************/
Il rfl
metodo utilizza i seguenti argomenti:
lv
(obbligatorio, stringa): Variabile (o stringa) contenente un elenco di valori delimitativr
(obbligatorio, stringa): Il valore da rimuovere dall' lv
argomento. Adobe consiglia di rimuovere più valori durante una singola rfl
chiamata.d1
(facoltativo, stringa): Il delimitatore utilizzato dall' lv
argomento. Il valore predefinito è una virgola (,
).d2
(facoltativo, stringa): Il delimitatore da utilizzare per la stringa di ritorno. Il valore predefinito è lo stesso dell' d1
argomento.df
(facoltativo, booleano): Se true
, forza solo le istanze duplicate dell' vr
argomento dall' lv
argomento invece di tutte le istanze. Il valore predefinito è false
se non è impostato.Se si chiama questo metodo, viene restituita una stringa modificata contenente l’ lv
argomento ma senza le istanze (o istanze duplicate) del valore specificato nell’ vr
argomento.
Se viene mostrato…
s.events = "event22,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event24");
…il valore finale di s.events sarà:
s.events = "event22,event25";
Se viene mostrato…
s.events = "event22,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event26");
…il valore finale di s.events sarà:
s.events = "event22,event24,event25";
In questo esempio, la chiamata rfl non ha apportato modifiche a s.events in quanto s.events non conteneva "event26"
Se viene mostrato…
s.events = "event22,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events);
…il valore finale di s.events sarà:
s.events = "";
Se l'argomento lv o vr è vuoto in una chiamata s.rfl, il plug-in non restituirà nulla
Se viene mostrato…
s.prop4 = "hello|people|today";
…e viene eseguito il codice seguente…
s.eVar5 = s.rfl(s.prop4,"people","|");
…il valore finale di s.prop4 sarà ancora…
s.prop4 = "hello|people|today";
…ma il valore finale di s.eVar5 sarà:
s.eVar5 = "hello|today";
Tenere presente che il plug-in restituisce solo un valore; in realtà non "reimposta" la variabile passata attraverso l'argomento lv.
Se viene mostrato…
s.prop4 = "hello|people|today";
…e viene eseguito il codice seguente…
s.prop4 = s.rfl(s.prop4,"people");
…il valore finale di s.prop4 sarà ancora…
s.prop4 = "hello|people|today";
Accertatevi di impostare l'argomento d1 nei casi in cui il valore dell'argomento lv contenga un delimitatore diverso dal valore predefinito (ad es. virgola).
Se viene mostrato…
s.events = "event22,event23,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"EVenT23");
…il valore finale di s.events sarà:
s.events = "event22,event23,event25";
Anche se questo esempio non è pratico, dimostra la necessità di trasmettere valori con distinzione tra maiuscole e minuscole.
Se viene mostrato…
s.events = "event22,event23:12345,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event23");
…il valore finale di s.events sarà:
s.events = "event22,event25";
Se viene mostrato…
s.events = "event22,event23:12345,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event23:12345");
…il valore finale di s.events sarà:
s.events = "event22,event23:12345,event25";
Per rimuovere un evento che utilizza la serializzazione e/o la sintassi numerica/valutaria, è necessario specificare solo l'evento stesso (ovvero senza i valori serializzazione/numerici/valuta) nella chiamata s.rfl.
Se viene mostrato…
s.events = "event22,event23,event23,event23,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event23");
…il valore finale di s.events sarà:
s.events = "event22,event24,event25");
Se viene mostrato…
s.events = "event22,event23,event23,event23,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event23", "", "",true);
…il valore finale di s.events sarà:
s.events = "event22,event23,event24,event25");
Se viene mostrato…
s.events = "event22,event23,event23,event23,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event23", "", "|",true);
…il valore finale di s.events sarà:
s.events = "event22|event23|event24|event25");
Se viene mostrato…
s.events = "event22,event23,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event23,event24");
…il valore finale di s.events sarà:
s.events = "event22,event23,event24,event25";
L'impostazione di più valori nell'argomento vr non è supportata. La logica rfl nell'esempio precedente suddividerebbe prima i valori nell'argomento lv (es.s.events), quindi provate a far corrispondere ogni valore delimitato al valore completo dell'argomento vr (es. "event23,event24").
Se viene mostrato…
s.events = "event22,event23,event24,event25";
…e viene eseguito il codice seguente…
s.events = s.rfl(s.events,"event23");
s.events = s.rfl(s.events,"event24");
…il valore finale di s.events sarà:
s.events = "event22,event25");
Ogni valore da rimuovere dall'elenco deve essere contenuto all'interno della propria chiamata s.rfl.
Se viene mostrato…
s.linkTrackVars = "events,eVar1,eVar2,eVar3";
…e viene eseguito il codice seguente…
s.linkTrackVars = s.rfl(s.linkTrackVars,"eVar2", ",", ",", false);
…il valore finale di s.linkTrackVars sarà:
s.linkTrackVars = "events,eVar1,eVar3";
Gli ultimi tre argomenti (vale a dire ",",",", false) alla fine di questa chiamata s.rfl non sono necessari ma non "fanno male a nulla" se ci sono presenti perché corrispondono alle impostazioni predefinite.
Se viene mostrato…
s.events = "event22,event23,event24";
…e viene eseguito il codice seguente…
s.rfl(s.events,"event23");
…il valore finale di s.events sarà comunque:
s.events = "event22,event23,event24";
Tenete presente che il plug-in restituisce solo un valore; in realtà non "reimposta" la variabile passata attraverso l'argomento lv.
join
plug-in.