-
AdRotator 컴포넌트를 이용한 배너 구현개발 관련/ASP 2009. 10. 9. 15:13
AdRotator 컴포넌트를 이용한 배너 구현
AdRotator 컴포넌트란 페이지 요청 시 매번 다른 그래픽 이미지를 나타낼 수 있도록 하는 기능을 가진 컴포넌트 이다. 배너를 등록 받아 보여주는 페이지가 있다고 가정하자. 배너 등록 비용에 따라 노출 빈도수가 바뀌어야 한다. 배너를 동적으로 생성하기 위해서는, DataBase에 등록 후 데이터를 받아 와서 노출 빈도수를 계산하여 보여주는 로직을 갖게 된다. AdRotator 컴포넌트를 이용하게 되면 간편한 로직으로 이를 구현할 수 있다.
AdRotator 컴포넌트를 이용하기 위해서는 3가지의 페이지가 필요하게 된다.
- 1) 배너를 보여줄 페이지.
2) 배너 클릭시 이동을 요청할 Gate.
3) 배너들의 정보를 보관하는 파일(설정파일).
우선 배너들의 정보를 보관하는 파일의 포맷을 알아보자.
REDIRECT URL(배너 클릭시 이동을 요청할 GATE , 필수)
WIDTH SIZE(배너의 WIDTH, 옵션)
HEIGHT SIZE(배너의 HEIGHT, 옵션)
BORDER SIZE(배너의 BORDER, 옵션)
*
배너 파일 경로
배너 클릭 시 이동할 URL(없는 경우 - 입력)
그래픽을 대체할 TEXT
다른 배너에 대한 상대적 가중치
위 포맷에 맞게 파일을 생성해 보자.
REDIRECT bannerRedirect.asp
WIDTH 300
HEIGHT 40
BORDER 0
*
korea.gif
http://korea.internet.com/
Korea.Internet.Com
4
naver.gif
http://www.naver.com/
naver
6
yahoo.gif
http://www.yahoo.com/
yahoo
10
각 배너를 클릭하게 되면 bannerRedirect.asp로 이동한 다음 명시된 URL로 페이지가 이동하게 된다.
가중치를 살펴보자, 첫번째는 4, 두번째는 6, 세번째는 10 라는 값을 할당 하였다. 상대적인 가중치이기 때문에 첫번째가 나타날 확률은 20%, 두번째는 30%, 세번째는 50%를 갖게 된다. (테스트를 위해 위 파일을 bannerSchedule.txt 로 저장하였다.)
다음으로 AdRotator 컴포넌트의 멤버를 알아보자.
1) 속성
i. Border = 정수, 광고의 테두리선을 나타내며, 설정되지 않는 경우 설정 파일에 저장된 border 값을 따르 게 된다.
ii. Clickable = Boolean. 하이퍼 링크로서 표시될 것인가의 여부를 나타낸다. Default는 True.
iii. TargetFrame = 문자열. 배너 클릭 후 이동할 페이지를 나타낼 프레임. Ex) _blank
2) 메소드
i. GetAdvertisement = 설정 파일을 읽어 필요한 HTML 태그를 생성한 후 리턴한다.
AdRotator 컴포넌트를 사용하여 페이지를 작성해 보자.
<%@Language=VBScript%>
<%
Option Explicit
Response.Expires = -1440
' @ 기 능 : AdRotator 컴포넌트 이용하여 배너 구현.
' 변수 선언
Dim objAdRotator
Dim strBanner
Set objAdRotator = Server.CreateObject("MSWC.AdRotator")
objAdRotator.Border = 0
objAdRotator.Clickable = True
objAdRotator.TargetFrame = "_blank" '새창으로 띄운다
strBanner = objAdRotator.GetAdvertisement("bannerSchedule.txt")
Response.Write strBanner '배너 생성
Set objAdRotator = Nothing
%>
AdRotator Object를 생성 한 후, 배너들의 정보를 가지고 있는 설정 파일을 읽어 와서, 배너를 페이지에 생성하였다. 정상적으로 실행이 되었다면 설정 파일에서 지정한 이미지가 나타날 것이다. 페이지의 HTML소스를 분석해 보면 다음과 같은 형태로 HTML이 생성이 되었다는 것을 알 수 있다.
<A HREF="bannerRedirect.asp?url=이동할경로&image=이미지명" TARGET="_blank">
<IMG SRC="이미지명" ALT="대체문자열" WIDTH=300 HEIGHT=40 BORDER=0></A>
GetAdvertisement 메소드를 통해 리턴받은 문자열(HTML)을 보면 설정 파일의 정보를 기반으로 HTML을 리턴한 것을 확인 할 수 있다. Gate 페이지에 쿼리스트링으로 두가지 값(url, image)을 전달하게 된다. 이 두값을 통해 페이지 이동과, 특정 액션(클릭 카운트 저장과 같은)을 취할 수 있다.
다음으로 Gate 역할을 하는 bannerRedirect.asp 파일을 생성해 보자.
<%@Language=VBScript%>
<%
Option Explicit
Response.Expires = -1440
Dim strUrl, strImageName
strUrl = Request.QueryString("url")
Response.Redirect strUrl
%>
'개발 관련 > ASP' 카테고리의 다른 글
Request.ServerVariables 개체에서 제공하는 환경변수 (0) 2009.10.09 ASP 내장함수 (0) 2009.10.09 Server.CreateObject("CDO.Message") (0) 2009.10.09 win2003에서 Cdonts.newmail 사용하기 (0) 2009.10.09 asp에서 값 체크 (0) 2009.10.09