Silverlight/Tips

Google Analytics로 사용자 PC의 실버라이트 플러그인 설치 현황 파악하기

길버트리 2009. 7. 13. 10:12

실버라이트로 서비스를 하다보면, 고객들의 PC에 얼마만큼 실버라이트 플러그인이 설치되어 있는지
또 설치되어 있다면 어떤 버전까지 지원하는 플러그 인인지 궁금하실 겁니다.
가끔 MS로부터 흘러나오는 정보들이 있기는 하지만, 그것은 우리 고객들의 표본과 많은 차이가 있지요.

한편, Google Analytics란 서비스는 무료로 웹페이지 방문자에 대한 방대한 통계를 제공합니다.
기본으로 제공하는 통계 외에도 User Defined Value를 이용하여 내가 원하는 요소를 통계 처리할 수도 있습니다.

이런 경우 지난 일요일 Mark Monster(본명일까요?)씨가 포스팅한 내용이 매우 유익하여,
요점을 정리하여 제 블로그에 포스팅합니다.

 

Silverlight.js

일단 다음과 같이 silverlight.js를 웹페이지 내에 include하여 사용하고 있는 상황에 적용할 수 있는 방법입니다.
(silverlight.js 파일은 실버라이트 프로젝트를 생성하면 항상 들어있는 파일로 없는 분도 손쉽게 구하실 수 있습니다.
혹은 이곳을 방문하시면 다운로드 받으실 수 있습니다.)

  <script type="text/javascript" src="**/Silverlight.js"></script>

 

Additional Javascript Code

아래 메서드를 웹페이지 내의 적당한 곳에 추가 작성합니다.
Silverlight.js에 작성해 놓고 페이지 간에 공유를 하시는 것도 좋은 방법이겠죠?

function getSilverlightVersion() {
	var version = '';
	var container = null;

	try {
		var control = null;
		if (window.ActiveXObject) {
			control = new ActiveXObject('AgControl.AgControl');
		}
		else {
			if (navigator.plugins['Silverlight Plug-In']) {
				container = document.createElement('div');
				document.body.appendChild(container);
				container.innerHTML= '<embed type="application/x-silverlight" src="data:," />';
				control = container.childNodes[0];
			}
		}
		if (control) {
			if (control.isVersionSupported('3.0')) { version = 'Silverlight/3.0'; }
			else if (control.isVersionSupported('2.0')) { version = 'Silverlight/2.0'; }
			else if (control.isVersionSupported('1.0')) { version = 'Silverlight/1.0'; }
		}
		else
		{
			version = 'Silverlight/None';
		}
	}
	catch (e) { }

	if (container) {
		document.body.removeChild(container);
	}
	return version;
}

 

Google Analytics Tracking Code

아래와 같은 Google Analytics의 Javascript 코드를 발급받으세요.




구글 Analytics를 사용하고 계신 분이라면 이런 코드를 보신 적이 있으실 겁니다.
Google Analytics에서 자신의 계정을 만드신 후 Analytics Settings > Profile Settings > Tracking Code에서 하나 발급받으세요.

 

Modify Tracking Code

마지막으로 Tracking Code만 수정해 주시면 됩니다.

<script type="text/javascript">     try {         var pageTracker = _gat._getTracker("UA-xxxxxx-x");         pageTracker._trackPageview();     }     catch(err) {} </script>

위와 같은 Google Analytics Tracking Code를 아래와 같이 변경하시면 됩니다.

<script type="text/javascript">     try {         var pageTracker = _gat._getTracker("UA-xxxxxx-x");         pageTracker._trackPageview();         // silverlight version tracking         var version = getSilverlightVersion();         if (version) {             pageTracker._setVar(version);         }     }     catch(err) {} </script>

이렇게 하시면 Google Analytics에서 다음 그림과 같이 방문자들의 실버라이트 플러그인 설치 상황을 확인하실 수 있습니다.

(이미지 출처 : http://mark.mymonster.nl/2009/07/12/tracking-silverlight-1-2-and-3-support-in-google-analytics/)

참 쉽죠잉?
감사합니다.