이 플러그인은 Adobe Analytics를 최대한 활용할 수 있도록 Adobe Consulting에서 무료로 제공합니다. Adobe 고객 지원 팀에서는 설치 또는 문제 해결 등 이 플러그인에 대한 지원을 제공하지 않습니다. 이 플러그인에 대한 도움이 필요한 경우 조직의 계정 관리자에게 문의하십시오. 계정 관리자가 도와줄 컨설턴트와의 만남을 주선할 수 있습니다.
apl 플러그인을 사용하면 events, linkTrackVars, list 및 기타 변수와 같은 목록 구분 변수에 새 값을 안전하게 추가할 수 있습니다.
구분된 값으로 이루어진 문자열을 포함하는 기존 변수에 새 값을 추가하려면 이 플러그인을 사용하는 것이 좋습니다. 구분된 값이 포함된 변수용 문자열을 연결하려는 경우에는 이 플러그인이 필요하지 않습니다.
플러그인 확장 기능을 사용하지 않으려는 경우 사용자 지정 코드 편집기를 사용할 수 있습니다.
Analytics 추적 개체가 인스턴스화 (s_gi 사용)된 후 AppMeasurement 파일의 아무 곳에나 다음 코드를 복사하여 붙여넣으십시오. 구현에서 코드의 주석 및 버전 번호를 보존하면 Adobe에서 잠재적인 문제를 해결하는 데 도움이 됩니다.
/******************************************* 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 ********************************************/
apl 함수에서는 다음 인수를 사용합니다.
lv (필수, 문자열): 구분 기호로 구분된 항목 목록을 포함하여 새 값을 추가할 변수입니다.vta (필수, 문자열): lv 인수 값에 추가할 새 값들을 쉼표로 구분한 목록입니다.d1 (선택 사항, 문자열): lv 인수에 이미 포함되어 있는 개별 값을 구분하는 데 사용되는 구분 기호입니다. 설정하지 않으면 기본값이 쉼표 (,)로 설정됩니다.d2 (선택 사항, 문자열): 출력 구분 기호입니다. 설정하지 않으면 기본값이 d1과 동일한 값으로 설정됩니다.cc (선택 사항, 부울): 대/소문자 검사를 사용하는지 여부를 나타내는 플래그입니다. true면 중복 검사는 대/소문자를 구분합니다. false거나 설정되지 않으면 중복 검사는 대/소문자를 구분하지 않습니다. 기본값은 false입니다.apl 함수는 lv 인수의 값과 vta 인수에 있는 중복되지 않은 값을 반환합니다.
// Set the events variable to "event22,event24,event23".
s.events = "event22,event24";
s.events = apl(s.events,"event23");
// The events variable remains unchanged because the apl function does not add duplicate values
s.events = "event22,event23";
s.events = apl(s.events,"event23");
// Set the events variable to "event23" if the events variable is blank
s.events = "";
s.events = apl(s.events,"event23");
// Append a value to eVar5. The value of prop4 remains unchanged.
// The value of eVar5 is "hello|people|today".
s.prop4 = "hello|people";
s.eVar5 = apl(s.prop4, "today", "|");
// Sets prop4 to "hello|people,today". Be mindful of correct delimiters!
s.prop4 = "hello|people";
s.prop4 = apl(s.prop4, "today");
// Sets the events variable to "event22,event23,EVentT23". Be mindful of capitalization when using the cc argument!
s.events = "event22,event23";
s.events = apl(s.events,"EVenT23", ",", ",", true);
// Sets the events variable to "event22,event23,event24,event25".
s.events = "event22,event23";
s.events = apl(s.events, "event23,event24,event25");
// Sets linkTrackVars to "events,eVar1,campaign".
// The last three arguments at the end of this apl call are not necessary because they match the default argument values.
s.linkTrackVars = "events,eVar1";
s.linkTrackVars = apl(s.linkTrackVars, "campaign", ",", ",", false);
// This apl call does not do anything because the code does not assign the returned value to a variable.
s.events = "event22,event24";
apl(s.events, "event23");
// Sets the list2 variable to "apple-APPLE-Apple".
// Since the two delimiter arguments are different, the value passed in is delimited by "|", then joined together by "-".
s.list2 = "apple|APPLE";
s.list2 = apl(s.list2, "Apple", "|", "-", true);
// Sets the list3 variable to "value1,value1,value1" (unchanged).
// Only new values are deduplicated. Existing duplicate values remain.
s.list3 = "value1,value1,value1";
s.list3 = apl(s.list3,"value1");
apl 호출의 호환성 문제를 해결했습니다.inList 2.1을 추가했습니다.d2 인수는 설정되지 않은 경우 기본값이 d1 인수의 값으로 설정됩니다.vta 인수가 이제 여러 값을 한 번에 허용합니다.d2 인수를 추가했습니다.cc 인수를 부울로 변경했습니다.inList 함수를 사용합니다.d (구분 기호) 인수는 이제 선택 사항입니다(기본값: 쉼표).u (대/소문자 구분 플래그) 인수는 이제 선택 사항입니다(기본값: 대/소문자를 구분하지 않음).u (대/소문자 구분 플래그) 인수에 관계없이, 목록에 값이 이미 있으면 플러그인이 값을 목록에 더 이상 추가하지 않습니다.