메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

User Agent를 수정해 AIR 애플리케이션 사용량을 파악하기

한빛미디어

|

2009-03-10

|

by HANBIT

6,912

제공 : 한빛 네트워크
저자 : Andrew Trice
역자 : 김근형
원문 : Tracking AIR Usage With a Custom User Agent

지난 번 소개한 Application Descriptor에 접근하기(영어)를 이용한 편리한 팁이 있습니다. 독자분들은 AIR 애플리케이션의 user agent를 직접 설정할 수 있다는 사실을 알고 있으셨나요?

아, 아마 1)user agent가 뭐고, 2)그런 설정이 왜 필요한지 궁금할 겁니다.

User Agent는 웹서버에 정보를 요청하기 위해 HTTP 요청을 보낼 때 그 헤더에 들어가는 문자열입니다. 서버는 이 값을 이용해 정보를 요청한 애플리케이션이 무엇인지 확인합니다. User Agent는 애플리케이션의 이름과 버전을 확인하는 문구들로 이루어 지는데, 각 문구의 형식은 다음과 같습니다.
이름/버전 (추가 정보)
괄호 안의 값을 통해 추가적인 정보를 확인할 수 있습니다. 예를 들면 제가 쓰는 파이어폭스의 user agent는
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
이고, IE의 경우는
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; 
InfoPath.2; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; WWTClient2)
입니다.

User Agent 헤더에 대해서는 MSDN에서 더 자세히 볼 수 있습니다.

AIR의 경우, user agent는 기본적으로 다음과 같습니다.
Mozilla/5.0 (Windows; U; en-US) AppleWebKit/523+ (KHTML, like Gecko) AdobeAIR/1.1
물론 수정할 수도 있습니다. user agent를 수정하면 HTTP 헤더를 통해 여러분의 AIR 애플리케이션을 식별할 수 있습니다. user agent에 애플리케이션 이름과 버전을 넣으면 여러분이 제공하는 서비스나 공개 API에 접근하는 애플리케이션의 이름과 그 버전을 확인할 수 있습니다. 또한 서비스를 브라우저에서 이용하는지 혹은 AIR를 사용하는지, 더 나아가 여러분이 개발한 AIR 애플리케이션 중 어떤 버전을 사용하는지도 알 수 있습니다.

다음 코드와 같이 user agent를 수정하면 애플리케이션에서 보내는 모든 요청의 헤더에 AIR 애플리케이션의 applicationID와 version이 추가됩니다.
public static function getVersion() : String
{
    namespace ns = "http://ns.adobe.com/air/application/1.0";
    use namespace ns;
 
    return NativeApplication.nativeApplication.applicationDescriptor.version.toString();
}

public static function setUserAgent() : void
{
    URLRequestDefaults.userAgent += 
    	" " +
    	NativeApplication.nativeApplication.applicationID + 
    	"/" +
    	getVersion();
}
변경된 user agent는 다음과 같습니다.
Mozilla/5.0 (Windows; U; en-US) AppleWebKit/523+ (KHTML, like Gecko) AdobeAIR/1.1 
MyApplicationId/1.0
“MyApplicationId/1.0”이 AIR의 기본 user agent에 추가되었습니다. 이 값은 AIR application descriptor에서 가져왔습니다. 이런 방법으로 어떤 버전의 애플리케이션이 배포되었는지, Flex/웹사이트 사용자와 AIR/desktop 사용자의 비율은 어떻게 되는지를 파악할 수 있습니다.
TAG :
댓글 입력
자료실