Dieses Plug-in wird von Adobe Consulting bereitgestellt, damit Sie die Vorteile von Adobe Analytics besser nutzen können. Die Adobe-Kundenunterstützung bietet keine Unterstützung für dieses Plug-in, einschließlich Installation und Fehlerbehebung. Wenn Sie Hilfe mit diesem Plug-in benötigen, wenden Sie sich an den Kundenbetreuer Ihres Unternehmens. Sie können ein Treffen mit einem Berater zur Unterstützung arrangieren.
Mit dem apl
-Plug-in können Sie sicher neue Werte zu durch Listen getrennten Variablen hinzufügen, wie z. B. events
, linkTrackVars
, list
und andere.
Adobe empfiehlt die Verwendung dieses Plug-ins, wenn Sie vorhandenen Variablen, die eine Zeichenfolge aus durch Trennzeichen getrennten Werten enthalten, neue Werte hinzufügen möchten. Dieses Plug-in ist nicht erforderlich, wenn Sie Zeichenfolgen für Variablen mit getrennten Werten verknüpfen möchten.
Adobe bietet eine Erweiterung, mit der Sie die gängigsten Plug-ins verwenden können.
Wenn Sie die Plug-in-Erweiterung nicht verwenden möchten, können Sie den Editor für benutzerdefinierten Code verwenden.
Kopieren Sie den folgenden Code und fügen Sie ihn an beliebiger Stelle in der AppMeasurement Datei ein, nachdem das Analytics-Tracking-Objekt instanziiert wurde (unter Verwendung von s_gi
). Die Beibehaltung von Kommentaren und Versionsnummern des Codes in Ihrer Implementierung hilft Adobe bei der Fehlerbehebung potenzieller Probleme.
/******************************************* 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 ********************************************/
Die apl
-Methode verwendet die folgenden Argumente:
lv
(erforderlich, Zeichenfolge): Die Variable, die eine durch Trennzeichen getrennte Liste von Elementen enthält, der ein neuer Wert hinzugefügt werden sollvta
(erforderlich, Zeichenfolge): Eine durch Komma getrennte Liste der neuen Werte, die dem lv
-Argumentwert hinzugefügt werden sollen.d1
(optional, Zeichenfolge): Das Trennzeichen, mit dem die einzelnen Werte getrennt werden, die bereits im lv
-Argument enthalten sind. Die Standardeinstellung ist ein Komma (,
), wenn nicht festgelegt.d2
(optional, Zeichenfolge): Das Ausgabetrennzeichen. Der Standardwert ist derselbe Wert wie d1
, wenn nicht festgelegt.cc
(optional, boolesch): Eine Markierung, die anzeigt, ob bei einer Prüfung die Groß-/Kleinschreibung beachtet wird. Wenn die Markierung true
ist, wird bei der Duplizierungsprüfung die Groß- und Kleinschreibung beachtet. Wenn die Markierung false
oder nicht gesetzt ist, wird bei der Duplizierungsprüfung nicht zwischen Groß- und Kleinschreibung unterschieden. Die Standardeinstellung ist false
.Die apl
-Methode gibt den Wert des lv
-Arguments sowie alle nicht duplizierten Werte im vta
-Argument zurück.
Wenn …
s.events = "event22,event24";
… und der folgende Code ausgeführt wird …
s.events = s.apl(s.events, "event23");
… lautet der Endwert von s.events:
s.events = "event22,event24,event23";
Wenn …
s.events = "event22,event23";
… und der folgende Code ausgeführt wird …
s.events = s.apl(s.events, "event23");
… lautet der Endwert von s.events weiterhin:
s.events = "event22,event23";
In diesem Beispiel hat der apl-Aufruf keine Änderungen an s.events vorgenommen, da s.events bereits „event23“ enthielt
Wenn …
s.events = ""; //blank value
… und der folgende Code ausgeführt wird …
s.events = s.apl(s.events, "event23");
… lautet der Endwert von s.events …
s.events = "event23";
Wenn …
s.prop4 = "hello|people";
… und der folgende Code ausgeführt wird …
s.eVar5 = s.apl(s.prop4, "today", "|");
… lautet der Endwert von s.prop4 weiterhin …
s.prop4 = "hello|people";
… aber der Endwert von s.eVar5 lautet
s.eVar5 = "hello|people|today";
Beachten Sie, dass das Plug-in nur einen Wert zurückgibt; es setzt die durch das lv-Argument übergebene Variable nicht unbedingt zurück.
Wenn …
s.prop4 = "hello|people";
… und der folgende Code ausgeführt wird …
s.prop4 = s.apl(s.prop4, "today");
… lautet der Endwert von s.prop4 …
s.prop4 = "hello|people,today";
Stellen Sie sicher, dass das Trennzeichen zwischen dem Wert des lv-Arguments und dem Wert der Argumente d1/d2 konsistent ist
Wenn …
s.events = "event22,event23";
… und der folgende Code ausgeführt wird …
s.events = s.apl(s.events,"EVenT23", ",", ",", true);
… lautet der Endwert von s.events:
s.events = "event22,event23,EVentT23";
Obwohl dieses Beispiel nicht praktikabel ist, zeigt es, dass bei Verwendung der Markierung, bei der die Groß- und Kleinschreibung beachtet werden muss, Vorsicht geboten ist.
Wenn …
s.events = "event22,event23";
… und der folgende Code ausgeführt wird …
s.events = s.apl(s.events, "event23,event24,event25");
… lautet der Endwert von s.events:
s.events = "event22,event23,event24,event25");
Das Plug-in fügt s.events „event23“ nicht hinzu, da es bereits in s.events vorhanden ist. Allerdings werden „event24“ und „event25“ zu s.events hinzugefügt, da keines der beiden Ereignisse zuvor in s.events enthalten war.
Wenn …
s.linkTrackVars = "events,eVar1";
… und der folgende Code ausgeführt wird …
s.linkTrackVars = s.apl(s.linkTrackVars, "campaign", ",", ",", false);
… lautet der Endwert von s.linkTrackVars:
s.linkTrackVars = "events,eVar1,campaign";
Die letzten drei Argumente (d. h. „,“, „,“, false) am Ende dieses apl-Aufrufs sind nicht erforderlich, verletzen aber auch nichts, da sie mit den Standardargumentwerten übereinstimmen.
Wenn …
s.events = "event22,event24";
… und der folgende Code ausgeführt wird …
s.apl(s.events, "event23");
… lautet der Endwert von s.events weiterhin:
s.events = "event22,event24";
Wenn Sie das Plug-in allein ausführen (ohne den Rückgabewert einer Variablen zuzuweisen), wird die Variable, die über das lv-Argument übergeben wird, nicht zurückgesetzt.
Wenn …
s.list2 = "casesensitivevalue|casesensitiveValue"
… und der folgende Code ausgeführt wird …
s.list2 = s.apl(s.list2, "CasESensiTiveValuE", "|", "-", true);
… lautet der Endwert von s.list2:
s.list2 = "casesensitivevalue-casesensitiveValue-CasESensiTiveValuE"
Da die beiden Trennzeichen-Argumente unterschiedlich sind, wird der übergebene Wert durch das erste Trennzeichen-Argument („ “) getrennt und dann durch das zweite Trennzeichen („-“) verbunden.
apl
-Aufrufen behoben, bei denen ältere Versionen des Plug-ins verwendet wurdeninList 2.1
d2
wird jetzt standardmäßig auf den Wert des Arguments d1
gesetzt, wenn nicht festgelegtvta
-Argument akzeptiert jetzt mehrere Werte auf einmald2
-Argument zum Formatieren des Rückgabewerts wurde hinzugefügtcc
-Argument wurde in einen boolesches Argument geändertinList
-Methode für die Vergleichsverarbeitungd
(Trennzeichen) ist jetzt optional (standardmäßig ein Komma)u
(Markierung für Groß-/Kleinschreibung) ist jetzt optional (standardmäßig wird nicht zwischen Groß- und Kleinschreibung unterschieden)u
(Markierung für Groß-/Kleinschreibung), hängt das Plug-in keinen Wert mehr an eine Liste an, wenn der Wert bereits in der Liste vorhanden ist