KR102593605B1 - Method For Managing User Identifier And Software Development Kit Including The Same - Google Patents
Method For Managing User Identifier And Software Development Kit Including The Same Download PDFInfo
- Publication number
- KR102593605B1 KR102593605B1 KR1020150181831A KR20150181831A KR102593605B1 KR 102593605 B1 KR102593605 B1 KR 102593605B1 KR 1020150181831 A KR1020150181831 A KR 1020150181831A KR 20150181831 A KR20150181831 A KR 20150181831A KR 102593605 B1 KR102593605 B1 KR 102593605B1
- Authority
- KR
- South Korea
- Prior art keywords
- identification value
- application
- terminal
- stored
- identification
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 단말에서의 사용자 식별값 관리 방법 및 그 소프트웨어 개발 키트에 관한 것으로서, 보다 상세하게는 단말이 사용자 식별값을 관리하는 방법에 있어서, (a) 제1 어플리케이션을 활성화하는 단계; (b) 상기 제1 어플리케이션에 저장된 식별값을 검색하는 단계; 및 (c) 상기 저장된 식별값을 광고서버에 송신하여 광고를 요청하는 단계;를 포함하고, 상기 식별값은 상기 단말 내 모든 어플리케이션에 동일하도록 저장되는 것을 특징으로 한다.
따라서 본 발명에 따르면, 동일 단말 내에 설치된 어플리케이션이 모두 동일한 식별값을 가지도록 하는 방안을 제시하며, 외부저장소 필요 없이 단말 내의 모든 어플리케이션에 상기 단말을 특정하는 식별값을 동기화시킴으로써, 광고서버에서 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 제공할 수 있다. The present invention relates to a method for managing a user identification value in a terminal and a software development kit thereof. More specifically, the method for managing a user identification value in a terminal includes the steps of: (a) activating a first application; (b) searching for an identification value stored in the first application; and (c) requesting an advertisement by transmitting the stored identification value to an advertisement server, wherein the identification value is stored to be the same in all applications in the terminal.
Therefore, according to the present invention, a method is proposed to ensure that all applications installed in the same terminal have the same identification value, and by synchronizing the identification value that specifies the terminal to all applications in the terminal without the need for external storage, user targeting is performed in the advertising server. Targeting advertisements and re-targeting advertisements may be provided.
Description
본 발명은 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법 및 그 소프트웨어 개발 키트에 관한 것으로서, 보다 상세하게는 단말이 사용자 식별값을 관리하는 방법에 있어서, (a) 제1 어플리케이션을 활성화하는 단계; (b) 상기 제1 어플리케이션에 저장된 식별값을 검색하는 단계; 및 (c) 상기 저장된 식별값을 광고서버에 송신하여 광고를 요청하는 단계;를 포함하고, 상기 식별값은 상기 단말 내 모든 어플리케이션에 동일하도록 저장되는 것을 특징으로 한다. The present invention relates to a method for managing a user identification value in a software development kit and the software development kit, and more specifically, to a method for managing a user identification value in a terminal, comprising the steps of: (a) activating a first application; (b) searching for an identification value stored in the first application; and (c) requesting an advertisement by transmitting the stored identification value to an advertisement server, wherein the identification value is stored to be the same in all applications in the terminal.
통신망의 발달과 단말기 사양의 발전에 따라 통신 단말기는 종래의 단순한 통신장치 또는 정보 제공 장치의 범주를 벗어나 현대인의 필수 소지품이 되었고, 토탈 엔터테인먼트 기기로 진화해 가고 있는 추세에 있다. 또한 인터넷을 이용할 수 있는 통신 단말기는 다양한 분야에서 광고, 금융, 엔터테인먼트, 뉴스, 커뮤니티 등의 컨텐츠를 제공한다.With the development of communication networks and the development of terminal specifications, communication terminals have gone beyond the scope of conventional simple communication devices or information provision devices and have become essential belongings of modern people, and are evolving into total entertainment devices. Additionally, communication terminals that can use the Internet provide content such as advertising, finance, entertainment, news, and community in various fields.
특히 최근에 각광을 받고 있는 온라인을 통한 광고 전달 수단 중 대부분이 단말기를 통해 이루어지고 있다. 이에 온라인을 통해 이루어지는 광고는 매체 내의 인벤토리에 무작위 광고가 노출되는 형식으로 시작되었다. 그러나 광고를 판매하기 원하는 광고주와 광고가 게재될 공간인 인벤토리를 판매하기 원하는 퍼블리셔가 많아지면서, 광고주와 퍼블리셔 사이를 중계하기 위한 광고대행 서버가 출현하여 광고주의 광고물을 퍼블리셔의 인벤토리 상에 무작위로 노출을 하는 방식으로 시작하여, 현재는 사용자 방문 정보를 기반으로 선별된 광고를 노출하는 형태로 타겟팅 광고 기술이 발전하였다. In particular, most of the online advertising delivery methods that have been in the spotlight recently are carried out through terminals. Accordingly, online advertising began in the form of random advertisements being exposed to inventory within the medium. However, as the number of advertisers who want to sell advertisements and publishers who want to sell inventory, which is the space where advertisements will be placed, increases, advertising agency servers appear to relay between advertisers and publishers, and advertisers' advertisements are randomly placed on the publisher's inventory. Starting with the exposure method, targeting advertising technology has now developed into a form of exposing selected advertisements based on user visit information.
여기서 사용자에게 광고가 노출되는 매개체를 매체(media)라 하며, 광고가 노출되는 매체 내의 공간을 인벤토리(inventory)라 한다. 이때 매체가 어플리케이션의 형태이면 in-application(in-app), 매체가 웹사이트의 형태이면 mobile web(m-web)이라 한다. 또한 사용자의 고유정보를 바탕으로 관심도가 높을 것 같은 광고를 선정하는 방법을 타겟팅(targeting)이라 한다.Here, the medium through which advertisements are exposed to users is called media, and the space within the medium where advertisements are exposed is called inventory. At this time, if the medium is in the form of an application, it is called in-application (in-app), and if the medium is in the form of a website, it is called mobile web (m-web). Additionally, the method of selecting advertisements that are likely to be of high interest based on the user's unique information is called targeting.
한편 도 1과 같이, 어플리케이션을 매체로 하여 광고를 서비스하는 in-app 광고 서비스에서는, 특정 사용자에 타겟팅된 광고를 송출하기 위해서는 광고를 요청하는 사용자 혹은 단말에 대한 식별이 반드시 필요하다.Meanwhile, as shown in Figure 1, in an in-app advertising service that serves advertisements using an application as a medium, identification of the user or terminal requesting the advertisement is essential in order to transmit advertisements targeted to a specific user.
이를 위해 종래에는 사용자 또는 단말을 식별하기 위한 방법으로서, 도 2와 같이 사용자의 전화번호, 기기의 고유 식별값, 플랫폼의 고유 식별값 등을 사용해 왔으나, 점차 개인정보보호 문제에 의해 해당 값들을 사용하지 못하도록 법적/플랫폼정책 하에 제지되어 왔다. 즉, 기기가 생산되는 과정에서 생성된 고유의 값이나 개인을 대표할 수 있는 고유의 값은 사용하지 못하는 제약사항이 발생한 것이다.For this purpose, in the past, the user's phone number, the device's unique identification value, and the platform's unique identification value were used as a method to identify the user or terminal, as shown in Figure 2. However, due to privacy protection issues, the corresponding values are gradually being used. This has been restricted under legal/platform policies. In other words, there is a limitation that prevents the use of unique values created during the production process of the device or unique values that can represent an individual.
이러한 문제를 회피하기 위하여, 기기 또는 개인의 고유한 값을 사용하지 않고 임의의 값을 생성하여 지속적으로 관리하는 방법이 있으며, 이러한 값은 동일 단말 내에 설치된 여러 어플리케이션에서 공통으로 사용되어야 의미가 있다. 즉, 동일 단말 내에 설치된 여러 어플리케이션이 각기 다른 식별값을 가지게 되는 것은 타겟팅 광고를 함에 있어서는 아무 의미가 없다는 것이다. 따라서 도 3와 같이 이러한 식별값을 SD카드 등의 외부저장소를 통해 여러 어플리케이션에서 공유하여 사용하는 방법이 종래에 사용되어 왔으나, 최근 강화된 플랫폼 정책에 의해 SD카드 등의 외부저장소에 대한 접근에 제약이 생겨 났으며 종래의 기술을 더 이상 사용하기 어려운 상황에 놓이게 되었다. To avoid this problem, there is a method of generating and continuously managing random values without using unique values of the device or individual, and these values are meaningful only if they are commonly used in multiple applications installed within the same terminal. In other words, the fact that multiple applications installed in the same terminal have different identification values has no meaning in targeting advertising. Therefore, as shown in Figure 3, a method of sharing and using these identification values in multiple applications through external storage such as SD cards has been used in the past, but access to external storage such as SD cards has been restricted due to recently strengthened platform policies. has emerged and it has become difficult to use conventional technology anymore.
본 발명은 이러한 기술적 배경을 바탕으로 발명되었으며, 이상에서 살핀 기술적 요구를 충족시킴은 물론, 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.The present invention was invented based on this technical background, and was invented to not only meet the technical needs discussed above, but also to provide additional technical elements that cannot be easily invented by those skilled in the art.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로, 동일 단말 내에 설치된 어플리케이션이 모두 동일한 식별값을 가지도록 하는 방안을 제시하여 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 가능하도록 하고자 한다.The present invention was developed to solve the above-mentioned problems, and proposes a method to ensure that all applications installed in the same terminal have the same identification value, thereby enabling user targeting and re-targeting advertisements. I want to do it.
한편, 본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 도출될 수 있다.Meanwhile, the technical problem to be achieved by the present invention is not limited to the technical problems mentioned above, and various technical problems can be derived from the contents described below within the range obvious to those skilled in the art.
전술한 목적을 달성하기 위해 본 발명의 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법은, 소프트웨어 개발 키트가 사용자 식별값을 관리하는 방법에 있어서, (a) 제1 어플리케이션을 활성화하는 단계; (b) 상기 제1 어플리케이션에 저장된 식별값을 검색하는 단계; 및 (c) 상기 저장된 식별값을 광고서버에 송신하여 광고를 요청하는 단계;를 포함하고, 상기 식별값은 단말 내 모든 어플리케이션에 동일하도록 저장되는 것을 특징으로 할 수 있다. In order to achieve the above-described object, a method of managing a user identification value in a software development kit of the present invention includes the steps of: (a) activating a first application; (b) searching for an identification value stored in the first application; and (c) requesting an advertisement by transmitting the stored identification value to an advertisement server, wherein the identification value is stored identically in all applications within the terminal.
이때 상기 (b) 단계는, 상기 제1 어플리케이션에 저장된 식별값이 없는 경우, (b-1) 새로운 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 단계; (b-2) 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 더 오래 전에 생성된 식별값이 있는지 질의하는 단계; 및 (b-3) 상기 제2 어플리케이션이 판단한 더 오래된 식별값을 수신하여 저장하는 단계;를 포함할 수 있다. At this time, step (b) includes, when there is no identification value stored in the first application, (b-1) generating a new identification value by matching it with a timestamp; (b-2) transmitting the new identification value to a second application to query whether there is an identification value created earlier; and (b-3) receiving and storing an older identification value determined by the second application.
또한 상기 (b-2) 단계 이후에, 제2 어플리케이션이 제1 어플리케이션의 질의에 응답하는 방법에 있어서, 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하는 단계; 상기 수신한 식별값과 상기 제2 어플리케이션에 저장된 식별값을 비교하여 더 오래 전에 생성된 식별값을 선별하는 단계; 및 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신하는 단계;를 포함할 수 있다. In addition, after step (b-2), a method for a second application to respond to a query from a first application includes: receiving an identification value matched with a timestamp from the first application; Comparing the received identification value with an identification value stored in the second application to select an identification value created earlier; and storing the identification value matched with the older timestamp and transmitting it to the first application.
본 발명의 사용자 식별값 관리 소프트웨어 개발 키트는, 단말 내 각각의 어플리케이션에 구비된 소프트웨어 개발 키트(Software Development Kit, SDK)에 있어서, 식별값을 저장하는 식별값 저장부; 상기 식별값 저장부에 저장된 식별값이 없는 경우, 단말을 특정하는 식별값을 생성하는 식별값 생성부; 및 저장된 식별값을 광고서버에 송신하여 광고를 요청하는 광고 요청부;를 포함할 수 있다. The user identification value management software development kit of the present invention is a software development kit (SDK) provided in each application in a terminal, comprising: an identification value storage unit for storing an identification value; an identification value generator that generates an identification value that specifies a terminal when there is no identification value stored in the identification value storage unit; and an advertisement request unit that transmits the stored identification value to the advertisement server to request an advertisement.
이때 본 발명의 사용자 식별값 관리 소프트웨어 개발 키트는, 상기 식별값 저장부에 저장된 식별값이 없는 경우, 상기 생성된 식별값을 다른 어플리케이션에 송신하고, 상기 다른 어플리케이션의 식별값 비교부로부터 선별된 식별값을 수신하여 저장시키는 식별값 송수신부; 및 다른 어플리케이션으로부터 식별값을 수신한 경우, 상기 수신한 식별값과 상기 식별값 저장부에 저장된 식별값을 비교하여 더 오래전에 생성된 식별값을 선별하여 상기 다른 어플리케이션에 재송신하는 식별값 비교부;를 더 포함할 수 있다. At this time, the user identification value management software development kit of the present invention transmits the generated identification value to another application when there is no identification value stored in the identification value storage unit, and identifies the selected identification value from the identification value comparison unit of the other application. An identification value transmitting and receiving unit that receives and stores the value; and an identification value comparison unit that, when receiving an identification value from another application, compares the received identification value with an identification value stored in the identification value storage unit, selects an identification value created earlier, and retransmits it to the other application. It may further include.
또한, 상기 식별값 생성부는, 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 것을 특징으로 할 수 있다.Additionally, the identification value generator may generate the identification value by matching it with a timestamp.
본 발명의 단말에서의 사용자 식별값 관리 방법은, 소프트웨어 개발 키트가 사용자 식별값을 관리하는 방법에 있어서, (a) 제1 어플리케이션을 활성화하는 단계; (b) 상기 제1 어플리케이션에 저장된 식별값을 검색하는 단계; 및 (c) 상기 저장된 식별값을 광고서버에 송신하여 광고를 요청하는 단계;를 포함하고, 상기 식별값은 단말 내 모든 어플리케이션에 동일하도록 저장되는 것을 특징으로 할 수 있다. The method of managing a user identification value in a terminal of the present invention includes the steps of: (a) activating a first application; (b) searching for an identification value stored in the first application; and (c) requesting an advertisement by transmitting the stored identification value to an advertisement server, wherein the identification value is stored identically in all applications within the terminal.
이때 상기 (b) 단계는, 상기 제1 어플리케이션에 저장된 식별값이 없는 경우, (b-1) 새로운 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 단계; (b-2) 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 더 오래 전에 생성된 식별값이 있는지 질의하는 단계; 및 (b-3) 상기 제2 어플리케이션이 판단한 더 오래된 식별값을 수신하여 저장하는 단계;를 포함할 수 있다. At this time, step (b) includes, when there is no identification value stored in the first application, (b-1) generating a new identification value by matching it with a timestamp; (b-2) transmitting the new identification value to a second application to query whether there is an identification value created earlier; and (b-3) receiving and storing an older identification value determined by the second application.
또한, 상기 (b-2) 단계 이후에, 제2 어플리케이션이 제1 어플리케이션의 질의에 응답하는 방법에 있어서, 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하는 단계; 상기 수신한 식별값과 상기 제2 어플리케이션에 저장된 식별값을 비교하여 더 오래 전에 생성된 식별값을 선별하는 단계; 및 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신하는 단계;를 포함할 수 있다. In addition, after step (b-2), a method for a second application to respond to a query from a first application includes: receiving an identification value matched with a timestamp from the first application; Comparing the received identification value with an identification value stored in the second application to select an identification value created earlier; and storing the identification value matched with the older timestamp and transmitting it to the first application.
본 발명의 사용자 식별값 관리 단말은, 단말 내 각각의 어플리케이션에 구비된 소프트웨어 개발 키트(Software Development Kit, SDK)에 있어서, 식별값을 저장하는 식별값 저장부; 상기 식별값 저장부에 저장된 식별값이 없는 경우, 단말을 특정하는 식별값을 생성하는 식별값 생성부; 및 저장된 식별값을 광고서버에 송신하여 광고를 요청하는 광고 요청부;를 포함할 수 있다. The user identification value management terminal of the present invention includes a software development kit (SDK) provided in each application in the terminal, an identification value storage unit for storing an identification value; an identification value generator that generates an identification value that specifies a terminal when there is no identification value stored in the identification value storage unit; and an advertisement request unit that transmits the stored identification value to the advertisement server to request an advertisement.
이때 본 발명의 사용자 식별값 관리 단말은, 상기 식별값 저장부에 저장된 식별값이 없는 경우, 상기 생성된 식별값을 다른 어플리케이션에 송신하고, 상기 다른 어플리케이션의 식별값 비교부로부터 선별된 식별값을 수신하여 저장시키는 식별값 송수신부; 및 다른 어플리케이션으로부터 식별값을 수신한 경우, 상기 수신한 식별값과 상기 식별값 저장부에 저장된 식별값을 비교하여 더 오래전에 생성된 식별값을 선별하여 상기 다른 어플리케이션에 재송신하는 식별값 비교부;를 더 포함할 수 있다. At this time, the user identification value management terminal of the present invention, if there is no identification value stored in the identification value storage unit, transmits the generated identification value to another application and receives the identification value selected from the identification value comparison unit of the other application. An identification value transmitting and receiving unit that receives and stores the identification value; and an identification value comparison unit that, when receiving an identification value from another application, compares the received identification value with an identification value stored in the identification value storage unit, selects an identification value created earlier, and retransmits it to the other application. It may further include.
또한, 상기 식별값 생성부는, 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 것을 특징으로 할 수 있다. Additionally, the identification value generator may generate the identification value by matching it with a timestamp.
본 발명은 동일 단말 내에 설치된 어플리케이션이 모두 동일한 식별값을 가지도록 하는 방안을 제시하여, 외부저장소 필요 없이 단말 내의 모든 어플리케이션에 상기 단말을 특정하는 식별값을 동기화시켜, 광고서버에서 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 제공할 수 있도록 한다.The present invention proposes a method to ensure that all applications installed in the same terminal have the same identification value, thereby synchronizing the identification value that specifies the terminal to all applications in the terminal without the need for external storage, thereby enabling user targeting in the advertising server. Enables the provision of advertisements and re-targeting advertisements.
본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다. The effects of the present invention are not limited to the effects mentioned above, and various effects may be included within the scope apparent to those skilled in the art from the contents described below.
도 1은 광고 서버가 단말에 타겟팅 광고를 송신함에 있어, 식별자를 전송받는 구성을 설명하기 위한 도면이다.
도 2는 종래 사용자 또는 단말을 식별하기 위한 방법을 설명하기 위한 도면이다.
도 3은 종래 SD카드 등의 외부저장소를 통해 여러 어플리케이션이 식별값을 공유하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 다른 실시 예에 따른 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 또 다른 실시 예에 따른 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시 예에 따른 사용자 식별값 관리 소프트웨어 개발 키트의 구성을 설명하기 위한 도면이다. Figure 1 is a diagram for explaining the configuration of receiving an identifier when an advertising server transmits a targeting advertisement to a terminal.
Figure 2 is a diagram for explaining a conventional method for identifying a user or terminal.
Figure 3 is a diagram illustrating a method for sharing identification values between multiple applications through external storage such as a conventional SD card.
Figure 4 is a diagram for explaining a method of managing user identification values in a software development kit according to an embodiment of the present invention.
Figure 5 is a diagram for explaining a method of managing user identification values in a software development kit according to another embodiment of the present invention.
Figure 6 is a diagram for explaining a method of managing user identification values in a software development kit according to another embodiment of the present invention.
Figure 7 is a diagram for explaining the configuration of a user identification value management software development kit according to an embodiment of the present invention.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 설명하는 실시 예들은 본 발명의 기술 사상을 당업자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않으며, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail through illustrative drawings. The described embodiments are provided so that those skilled in the art can easily understand the technical idea of the present invention, and the present invention is not limited thereto, and it is judged that detailed description of related known configurations or functions may obscure the gist of the present invention. In this case, the detailed description is omitted. Details regarding the purpose and technical configuration of the present invention and its operational effects will be more clearly understood by the following detailed description based on the drawings attached to the specification of the present invention. Embodiments according to the present invention will be described in detail with reference to the attached drawings.
본 명세서에서 개시되는 실시 예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시 예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시 예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시 예들로 한정되는 것을 의도하지 않는다.The embodiments disclosed in this specification should not be construed or used as limiting the scope of the present invention. It is obvious to those skilled in the art that the description, including embodiments, of this specification has various applications. Accordingly, any embodiments described in the detailed description of the present invention are illustrative to better explain the present invention and are not intended to limit the scope of the present invention to the embodiments.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.The functional blocks shown in the drawings and described below are only examples of possible implementations. Other functional blocks may be used in other implementations without departing from the spirit and scope of the detailed description. Additionally, although one or more functional blocks of the present invention are shown as individual blocks, one or more of the functional blocks of the present invention may be a combination of various hardware and software components that perform the same function.
또한, 어떤 구성요소들을 포함한다는 표현은 개방형의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다. 첨부된 도면에 표현된 사항들은 본 발명의 실시 예들을 쉽게 설명하기 위해 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있으며, 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. In addition, the expression that certain components are included is an open expression that simply refers to the existence of the corresponding components and should not be understood as excluding additional components. Matters expressed in the attached drawings may be different from the form actually implemented in the schematic drawings to easily explain the embodiments of the present invention, and in adding reference numerals to the components in each drawing, the same components It should be noted that even if shown on different drawings, the symbols are used as identically as possible.
나아가 어떤 구성요소가 다른 구성요소에 연결되어 있다거나 접속되어 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다. Furthermore, when a component is mentioned as being connected or connected to another component, it should be understood that although it may be directly connected or connected to the other component, other components may exist in between.
더하여 '제1, 제2' 등과 같은 표현은 복수의 구성들을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다. In addition, expressions such as 'first, second', etc. are expressions used only to distinguish a plurality of components, and do not limit the order or other characteristics between the components.
이하 본 발명을 설명하기에 앞서, 본 발명의 분야에 대한 타겟팅, 리타겟팅의 개념과 용어를 설명한다. Below, before explaining the present invention, the concepts and terms of targeting and retargeting in the field of the present invention will be explained.
온라인 광고의 최초의 형태는 광고대행 서버 없이 광고주와 퍼블리셔가 직접적으로 광고와 인벤토리를 거래하였으나, 인터넷 사용자가 늘어나면서 인터넷 광고 효과가 급격히 증가하면서, 광고를 판매하기 원하는 광고주와 광고가 게재될 공간인 인벤토리를 판매하기 원하는 퍼블리셔가 매우 많아졌다. 이에 광고주와 퍼블리셔 사이에 광고 및 인벤토리 거래를 대행해주는 광고대행 서버가 등장하였다. 이와 같은 방식은 매체 내의 인벤토리에 무작위 광고가 노출되는 방식이며, 이후 사용자의 방문정보를 기반으로 사용자의 접속에 따라 사용자를 식별하고 그 사용자의 정보를 기반으로 광고를 선별하여 노출하는 방식의 리타겟팅 광고가 개발되었다. In the first form of online advertising, advertisers and publishers traded advertisements and inventory directly without an advertising agency server, but as the number of internet users increased, the effectiveness of internet advertising increased rapidly, and advertisers who wanted to sell advertisements and the space where advertisements would be placed were created. There are a lot of publishers wanting to sell their inventory. Accordingly, advertising agency servers emerged that handle advertising and inventory transactions between advertisers and publishers. This method is a method in which random advertisements are exposed to inventory within the media, and then retargeting is performed by identifying users based on the user's visit information and selecting and displaying advertisements based on the user's information. Advertisements were developed.
리타겟팅 광고는 광고주가 검색 광고 등의 마케팅 활동을 통해 비교적 전환율이 높은 관심 사용자의 방문을 유도한 후 방문한 관심사용자가 특별히 관심 있는 제품의 이미지를 리타겟팅 매체를 통해 노출하여 광고 효과를 높이는 형태의 광고이다. 이는 단순히 웹 사이트를 방문 시 팝업 또는 수동으로 보이는 광고 형태가 아니라, 광고를 판매하며 광고가 게재될 인벤토리를 구매하는 광고주, 광고주를 대신하여 광고를 노출할 적절한 인벤토리를 찾는 DSP(Demand Side Platform) 서버, 광고가 게재될 인벤토리를 판매하는 퍼블리셔, 퍼블리셔를 대신하여 노출할 광고를 찾는 SSP(Supply Side Platform) 서버의 정보 연동을 통해, 사용자 연령, 선호도와 광고 종류에 따라 광고 대상 사용자를 식별하고, 식별된 사용자 단말로 광고를 보내는 방식의 시스템이다.Retargeting advertising is a form of advertising that increases advertising effectiveness by encouraging the advertiser to visit interested users with a relatively high conversion rate through marketing activities such as search advertising, and then exposing images of products of particular interest to the visiting users through retargeting media. It's an advertisement. This is not simply a form of advertisement that pops up or appears manually when visiting a website, but is instead a DSP (Demand Side Platform) server that sells advertisements and purchases inventory where advertisements will be displayed, and finds appropriate inventory to display advertisements on behalf of advertisers. , through information linkage between publishers who sell inventory where advertisements will be displayed and SSP (Supply Side Platform) servers that find advertisements to be displayed on behalf of publishers, advertising target users are identified and identified based on user age, preference, and advertisement type. It is a system that sends advertisements to user terminals.
이때 DSP 서버는 사용자가 방문한 웹사이트 내에서 특정 페이지를 열람한 정보 또는 방문한 사용자의 장바구니 내역, 로그인 정보 등에 대한 데이터 분석을 통하여 사용자 별로 타겟팅 정보에 대한 리타겟팅 광고를 사전에 생성한다. 이후, 등록되는 광고 성격을 타겟팅 정보 별로 분류하여, 사용자가 퍼블리셔의 사이트에 접속한 것을 감지하면, 상기 사용자의 타겟팅 정보에 따라 분류된 광고를 전송하는 형태로 리타겟팅 광고 서비스가 제공되고 있다. At this time, the DSP server generates retargeting advertisements with targeting information for each user in advance through data analysis of information on viewing specific pages within the website visited by the user, shopping cart details, login information, etc. of the visiting user. Afterwards, a retargeting advertising service is provided in the form of classifying the nature of the registered advertisement according to targeting information, and transmitting advertisements classified according to the user's targeting information when detecting that the user has accessed the publisher's site.
이에 본 발명에서 사용하는 용어를 정의하자면 다음과 같다.Accordingly, the terms used in the present invention are defined as follows.
리타겟팅 광고(Retargeting Ads)란, 광고주의 웹사이트에 방문한 경험이 있거나, 웹사이트 내에서 특정 페이지를 열람한 경험이 있는 사용자에게 다른 웹사이트에 접속한 경우에도 열람한 경험이 있는 페이지에 대한 상품 또는 서비스에 대한 광고를 다시 보여주는 방법을 의미한다.Retargeting Ads refers to providing products to users who have visited the advertiser's website or viewed a specific page within the website, even if they accessed another website. Or, it refers to a method of re-showing advertisements for services.
이때 타겟팅 정보란, 광고주의 웹사이트에 방문한 사용자가 광고주의 웹사이트 내에서 취한 행동을 고려하여 광고를 선별하기 위해 사용되는 정보를 의미한다. 따라서 사용자가 방문한 웹사이트 내에서 특정 페이지를 열람한 정보 또는 방문한 사용자의 장바구니 내역, 로그인 정보 등이 타겟팅 정보가 될 수 있다. At this time, targeting information refers to information used to select advertisements by considering the actions taken within the advertiser's website by users who visit the advertiser's website. Therefore, targeting information may include information on viewing a specific page within a website visited by the user, shopping cart details, login information, etc. of the visited user.
매체(media)란, 사용자에게 광고가 노출되는 매개체를 말한다. 예를 들면 광고가 노출될 수 있는 수단으로 TV, 라디오, 인터넷 등이 있다. 본 발명은 온라인 상에서의 리타겟팅 광고를 대상으로 하는 바, 인터넷이 매체가 될 수 있다. Media refers to the medium through which advertisements are exposed to users. For example, means through which advertisements can be exposed include TV, radio, and the Internet. Since the present invention targets retargeting advertisements online, the Internet can be a medium.
인벤토리(inventory)란, 광고가 노출되는 매체 내의 공간을 의미한다. 인터넷의 경우엔 웹사이트 내에 광고를 게재하기 위한 특정 공간이 인벤토리가 될 수 있다. Inventory refers to the space within the medium where advertisements are exposed. In the case of the Internet, inventory may be a specific space on a website for displaying advertisements.
광고주란, 소유하고 있는 광고를 게재하기 위해 광고가 게재될 인벤토리를 구매하기 원하는 자를 말한다. An advertiser is a person who wishes to purchase inventory on which advertisements will be displayed in order to display advertisements that he or she owns.
퍼블리셔(publisher)란, 광고를 게재할 수 있는 매체 내에서의 인벤토리를 보유한 자를 말한다. A publisher is a person who holds inventory in a medium that can display advertisements.
DSP(demand side platform) 서버란, 광고주를 대신하여 광고를 노출할 적절한 인벤토리를 찾는 사업자가 관리하는 서버를 말한다.A DSP (demand side platform) server is a server managed by a business operator that searches for appropriate inventory to expose advertisements on behalf of advertisers.
SSP(supply side platform) 서버란, 퍼블리셔를 대신하여 인벤토리를 팔고 노출할 광고를 찾는 사업자가 관리하는 서버를 말한다. An SSP (supply side platform) server is a server managed by a business operator who sells inventory on behalf of a publisher and searches for advertisements to display.
이때 매체가 어플리케이션의 형태이면 in-application(in-app), 매체가 웹사이트의 형태이면 mobile web(m-web)이라 한다. 또한 사용자의 고유정보를 바탕으로 관심도가 높을 것 같은 광고를 선정하는 방법을 타겟팅(targeting)이라 한다.At this time, if the medium is in the form of an application, it is called in-application (in-app), and if the medium is in the form of a website, it is called mobile web (m-web). Additionally, the method of selecting advertisements that are likely to be of high interest based on the user's unique information is called targeting.
한편 어플리케이션을 매체로 하여 광고를 서비스하는 in-app 광고 서비스에서는, 특정 사용자에 타겟팅된 광고를 송출하기 위해서는 광고를 요청하는 사용자 혹은 단말에 대한 식별이 반드시 필요하다.Meanwhile, in the in-app advertising service that serves advertisements using applications as a medium, identification of the user or terminal requesting the advertisement is essential in order to transmit advertisements targeted to specific users.
도 2는 종래 사용자 또는 단말을 식별하기 위한 방법을 설명하기 위한 도면이다. Figure 2 is a diagram for explaining a conventional method for identifying a user or terminal.
도 2를 참조하면, 사용자 또는 단말을 식별하기 위하여 사용자의 전화번호, 기기의 고유 식별값, 플랫폼의 고유 식별값 등을 사용해 왔으나, 점차 개인정보보호 문제에 의해 해당 값들을 사용하지 못하도록 법적/플랫폼정책 하에 제지되어 왔다. 즉, 기기가 생산되는 과정에서 생성된 고유의 값이나 개인을 대표할 수 있는 고유의 값은 사용하지 못하는 제약사항이 발생한 것이다.Referring to Figure 2, the user's phone number, device's unique identification value, platform's unique identification value, etc. have been used to identify the user or terminal, but legal/platform regulations are gradually preventing the use of such values due to privacy protection issues. has been suppressed under the policy. In other words, there is a limitation that prevents the use of unique values created during the production process of the device or unique values that can represent an individual.
이러한 문제를 회피하기 위하여, 기기 또는 개인의 고유한 값을 사용하지 않고 임의의 값을 생성하여 지속적으로 관리하는 방법이 있으나, 이러한 값은 동일 단말 내에 설치된 여러 어플리케이션에서 공통으로 사용되어야 의미가 있다. 따라서 동일 단말 내에 설치된 여러 어플리케이션이 각기 다른 식별값을 가지게 되는 것은 의미가 없다. To avoid this problem, there is a method of generating and continuously managing random values without using the device's or individual's unique values, but these values are meaningful only when they are commonly used in multiple applications installed within the same terminal. Therefore, it is meaningless for multiple applications installed in the same terminal to have different identification values.
도 3은 종래 SD카드 등의 외부저장소를 통해 여러 어플리케이션이 식별값을 공유하는 방법을 설명하기 위한 도면이다. Figure 3 is a diagram illustrating a method for sharing identification values between multiple applications through external storage such as a conventional SD card.
도 3을 참조하면, 이러한 식별값을 SD카드 등의 외부저장소를 통해 여러 어플리케이션에서 공유하여 사용하는 방법이 사용되었다. 그러나 최근 강화된 플랫폼 정책에 의해 SD카드 등의 외부저장소에 대한 접근에 제약이 생겨 났으며 도 2와 같은 방법 또한 더 이상 사용하기 어려운 상황에 놓이게 되었다. Referring to Figure 3, a method was used to share and use these identification values in multiple applications through external storage such as an SD card. However, recently strengthened platform policies have created restrictions on access to external storage such as SD cards, and the method shown in Figure 2 is no longer difficult to use.
이에 본 발명은 동일 단말 내에 설치된 어플리케이션이 모두 동일한 식별값을 가지도록 하는 방안을 제시하여 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 가능하도록 하고자 한다.Accordingly, the present invention proposes a method to ensure that all applications installed in the same terminal have the same identification value, thereby enabling user targeting and re-targeting advertisements.
도 4는 본 발명의 일 실시 예에 따른 단말에서의 사용자 식별값 관리 방법을 설명하기 위한 도면이다.Figure 4 is a diagram for explaining a method for managing user identification values in a terminal according to an embodiment of the present invention.
도 4를 참조하면, 본 발명은 각 어플리케이션이 자신의 식별값 저장부에 광고 식별값을 보관한다. 그리고 이러한 광고 식별값이 각 어플리케이션에서 동일한 값을 가질 수 있도록 동기화되어, 동일 단말 내의 각 어플리케이션에 존재하는 식별값은 같은 값을 갖게 된다. Referring to Figure 4, in the present invention, each application stores an advertisement identification value in its own identification value storage unit. And these advertisement identification values are synchronized so that they have the same value in each application, so that the identification values in each application within the same terminal have the same value.
이후 사용자 타겟팅 광고 요청에 필요한 식별값은 종래와 달리 각 어플리케이션의 식별값 저장부에 저장된 식별값을 사용한다. Unlike before, the identification value required for user-targeted advertisement requests uses the identification value stored in the identification value storage of each application.
여기서 식별값 저장부는 단말에 설치된 각 어플리케이션 내부의 저장 공간으로, 사용자의 명확한 접근 권한 동의가 필요한 외부저장소와 달리, 개별 어플리케이션의 고유 공간으로서 접근에 대한 별도의 권한이 필요하지 않다. 따라서 본 발명은 동일 단말 내에 설치된 어플리케이션의 식별값 저장부를 동기화하는 방식으로 모두 동일한 식별값을 가지도록 하여 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 가능하게 할 수 있다.Here, the identification value storage is a storage space inside each application installed on the terminal. Unlike external storage, which requires clear consent from the user to access permissions, it is a unique space for individual applications and does not require separate permissions for access. Therefore, the present invention can enable user targeting and re-targeting advertisements by synchronizing the identification value storage units of applications installed in the same terminal so that they all have the same identification value.
한편 어플리케이션 간에 식별값을 동기화하는 방법은 운영체제 또는 플랫폼에서 제공하는 IPC 메커니즘을 활용할 수 있다. 예를 들어 안드로이드 플랫폼 상에서는 Broadcast Receiver 기능을 활용할 수 있다. Broadcast Receiver 시스템은 특정 명령어에 대한 이벤트를 수령하겠다고 선언한 어플리케이션들에게 동시에 명령어와 일부 파라메터를 broadcast 할 수 있는 기능을 제공한다.Meanwhile, a method of synchronizing identification values between applications can utilize the IPC mechanism provided by the operating system or platform. For example, on the Android platform, you can utilize the Broadcast Receiver function. The Broadcast Receiver system provides the ability to simultaneously broadcast commands and some parameters to applications that have declared to receive events for specific commands.
도 5는 본 발명의 일 실시 예에 따른 소프트웨어 개발 키트(Software Development Kit, SDK)에서의 사용자 식별값 관리 방법을 설명하기 위한 도면이다. FIG. 5 is a diagram illustrating a method for managing user identification values in a software development kit (SDK) according to an embodiment of the present invention.
소프트웨어 개발 키트는 소프트웨어 기술자가 특정한 소프트웨어 꾸러미, 소프트웨어 프레임워크, 하드웨어 플랫폼, 컴퓨터 시스템, 게임기, 운영 체제 등을 위한 응용 프로그램을 만들 수 있게 하는 개발 도구의 집합이다. A software development kit is a set of development tools that allow software engineers to create applications for a specific software package, software framework, hardware platform, computer system, gaming console, operating system, etc.
특정한 프로그래밍 언어에 접속하거나 특정한 임베디드 시스템과 통신하는 복잡한 하드웨어를 포함하기 위한 어떠한 파일들의 측면에서는 응용 프로그램 프로그래밍 인터페이스(API) 등으로 단순하게 표기할 수 있다. 공통 도구에는 디버깅 보조 프로그램과 다른 유틸리티를 통합 개발 환경(IDE)의 형태로 포함하고 있다. 소프트웨어 개발 키트는 또한 샘플 코드를 포함하여 기술 참고나 지원 문서를 지원함으로써 사용자에게 명확한 요점을 제공한다.Some files that are intended to connect to a specific programming language or contain complex hardware that communicates with a specific embedded system can be simply notated as an application programming interface (API). Common tools include debugging aids and other utilities in the form of an integrated development environment (IDE). Software development kits also provide users with clear key points by providing technical notes or support documentation, including sample code.
도 5를 참조하면, 본 발명의 일 실시 예에 따른 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법은, 소프트웨어 개발 키트가 사용자 식별값을 관리하는 방법에 있어서, (a) 제1 어플리케이션을 활성화하는 단계(S410); (b) 상기 제1 어플리케이션에 저장된 식별값을 검색하는 단계(S420); 및 (c) 상기 저장된 식별값을 광고 서버에 송신하여 광고를 요청하는 단계(S430);를 포함할 수 있고, 상기 식별값은 단말 내 모든 어플리케이션에 동일하도록 저장되는 것을 특징으로 할 수 있다. Referring to FIG. 5, a method of managing a user identification value in a software development kit according to an embodiment of the present invention includes the steps of (a) activating a first application; (S410); (b) retrieving the identification value stored in the first application (S420); and (c) requesting an advertisement by transmitting the stored identification value to an advertisement server (S430). The identification value may be stored identically in all applications within the terminal.
상기 (a) 단계(S410)는, 어플리케이션이 활성화되는 단계로 사용자의 입력에 따라 어플리케이션이 실행될 수 있다. 물론 어플리케이션은 백그라운드에서 이미 실행되어 있을 수 있지만, 여기서 어플리케이션의 활성화라 함은 사용자가 직접 디스플레이 화면에서 해당 어플리케이션의 정보를 볼 수 있는 상태를 의미한다. 한편 백그라운드 상태라 함은 어플리케이션이 실행되어 있으나, 디스플레이에 직접적으로 실행되어 있음이 보이지 않는 상태로 플래시 메모리에 공간을 차지하며 어플리케이션의 실행이 유지되는 상태를 의미한다. The step (a) (S410) is a step in which the application is activated, and the application can be executed according to the user's input. Of course, the application may already be running in the background, but here, activation of the application means a state in which the user can directly view information about the application on the display screen. Meanwhile, the background state refers to a state in which an application is running, but is not directly visible on the display, occupies space in flash memory, and execution of the application is maintained.
상기 (b) 단계(S420)에서는, 제1 어플리케이션이 내부 저장소(본 발명에서는 이하 ‘식별값 저장부’라 칭한다) 에 저장된 식별값이 있는지 검색할 수 있다. 여기서 식별값 저장부는 단말에 설치된 각 어플리케이션 내부의 저장 공간으로, 사용자의 명확한 접근 권한 동의가 필요한 SD카드 등의 외부저장소와 달리, 개별 어플리케이션의 고유 공간으로서 접근에 대한 별도의 권한이 필요하지 않다. 따라서 본 발명은 동일 단말 내에 설치된 어플리케이션의 식별값 저장부를 동기화하는 방식으로 모두 동일한 식별값을 가지도록 하여 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 가능하게 할 수 있다.In step (b) (S420), the first application can search for an identification value stored in the internal storage (hereinafter referred to as ‘identification value storage unit’ in the present invention). Here, the identification value storage is a storage space inside each application installed on the terminal. Unlike external storage such as an SD card that requires clear permission consent from the user, it is a space unique to each application and does not require separate permissions for access. Therefore, the present invention can enable user targeting and re-targeting advertisements by synchronizing the identification value storage units of applications installed in the same terminal so that they all have the same identification value.
이에 (c) 단계(S430)에서는, 저장된 식별값을 검색한 경우, 상기 저장된 식별값을 광고 서버에 송신하여 광고를 요청하게 된다. 광고 서버에서는 수신한 식별값을 토대로 사용자가 누구인지 인식하여, 상기 사용자가 관심있게 본 사이트의 쿠키 자료를 기반으로 타겟팅 광고를 할 수 있다. 따라서 어플리케이션을 매체로 하여 광고를 서비스하는 in-app 광고 서비스에서는, 특정 사용자에 광고를 요청하는 사용자 혹은 단말에 대한 식별이 반드시 필요하다. Accordingly, in step (c) (S430), when the stored identification value is searched, the stored identification value is transmitted to the advertisement server to request an advertisement. The advertising server recognizes who the user is based on the received identification value and can target advertisements based on cookie data from the site that the user is interested in. Therefore, in the in-app advertising service that serves advertising using an application as a medium, identification of the user or terminal requesting advertising to a specific user is essential.
따라서 단말 내에 설치된 모든 어플리케이션이 동일한 식별값을 갖게 하는 것이 중요하다. 따라서 이하에서는 식별값이 동기화되는 방법을 설명한다. Therefore, it is important to ensure that all applications installed in the terminal have the same identification value. Therefore, the following describes how identification values are synchronized.
본 발명의 따른 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법의 다른 실시 예로, 제1 어플리케이션에 저장된 식별값이 없는 경우에 상기 (b) 단계(S420)는, (b-1) 새로운 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 단계(S440); (b-2) 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 보다 오래된 타임스탬프가 있는지 질의하는 단계(S450); 및 (b-3) 상기 제2 어플리케이션이 판단한 더 오래된 식별값을 수신하여 저장하는 단계(S460);를 포함할 수 있다. As another example of a method for managing a user identification value in a software development kit according to the present invention, when there is no identification value stored in the first application, step (b) (S420) includes (b-1) a new identification value. A step of matching and generating a stamp (timestamp) (S440); (b-2) transmitting the new identification value to a second application and querying whether there is an older timestamp (S450); and (b-3) receiving and storing an older identification value determined by the second application (S460).
(b-1) 단계(S440)에서는 새로운 식별값을 타임스탬프(timestamp)와 매칭하여 생성할 수 있는데, 이는 이후에 어플리케이션에서 수신한 식별값을 비교할 경우, 어떤 것이 먼저 생성된 것인지 판단하기 위함이다. 단말이 초기화된 상태에서는 어떤 어플리케이션도 식별값을 갖고 있지 않을 것이기 때문에 맨 처음 식별값이 만들어 지는 경우에는 비교할 식별값이 없어, 맨 처음 만들어진 식별값이 해당 단말의 모든 어플리케이션이 동일한 식별값을 갖도록 하는 기준이 된다. In step (b-1) (S440), a new identification value can be created by matching a timestamp. This is to determine which one was created first when comparing identification values received from the application later. . Since no application will have an identification value when the terminal is initialized, there is no identification value to compare when the first identification value is created, so the first identification value created ensures that all applications of the terminal have the same identification value. It becomes a standard.
여기서 타임스탬프란, 식별값이 언제 생성된 것인지 시간 또는 순서를 식별값과 함께 저장되는 메타 데이터이다. Here, a timestamp is metadata that stores the time or order of when the identification value was created, along with the identification value.
(b-2) 단계(S450)에서는, 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 상기 새로운 식별값 보다 오래된 타임스탬프가 있는지 질의한다. 이때 제1 어플리케이션이란 단말에서 활성화된 어플리케이션을 의미하며, 제2 어플리케이션이란 그 외의 어플리케이션을 의미한다. 이때 제2 어플리케이션은 복수의 어플리케이션 일 수 있으며, 단말에 설치된 제1 어플리케이션 외의 모든 어플리케이션 일 수 있다. (b-2) In step S450, the new identification value is transmitted to the second application to query whether there is a timestamp older than the new identification value. At this time, the first application refers to an application activated in the terminal, and the second application refers to other applications. At this time, the second application may be a plurality of applications and may be any application other than the first application installed on the terminal.
예를 들어 사용자가 제1 어플리케이션을 활성화시켰는데, 제1 어플리케이션에 저장된 식별값이 없으면, 타임스탬프와 매칭하여 식별값을 새로 생성하고, 상기 생성한 식별값보다 오래 전에 생성된 식별값이 있는지 제1 어플리케이션 이외의 다른 제2 어플리케이션에 질의한다. 제2 어플리케이션은 이를 수신한 후 자신이 저장한 식별값과 비교하여, 더 오래 전에 생성된 식별값을 송신하여 준다. 제2 어플리케이션에서 이루어지는 비교 과정은 이후 도 5와 함께 상세히 설명하기로 한다. For example, if the user activates the first application, but there is no identification value stored in the first application, a new identification value is created by matching the timestamp, and a check is made to see if there is an identification value created long before the generated identification value. 1 Query a second application other than the application. After receiving this, the second application compares it with the identification value it stored and transmits an identification value that was created a long time ago. The comparison process performed in the second application will be described in detail later with reference to FIG. 5.
(b-3) 단계(S460)에서는, 제2 어플리케이션에서 비교된 더 오래된 타임스탬프와 매칭된 식별값을 수신하여 저장한다. 따라서 제2 어플리케이션에 생성된 식별값이 없거나, 제2 어플리케이션에 저장되어 있는 식별값이 더 새로운 것이라면, 제1 어플리케이션 자신이 생성한 식별값을 재수신하여 저장하게 될 것이고, 제2 어플리케이션에 저장되어 있는 식별값이 더 오래된 것이라면, 제2 어플리케이션에 저장되어 있던 더 오래된 식별값을 수신하여 제1 어플리케이션 식별값 저장부에 저장하고 이를 광고 서버에 송신하게 될 것이다. (b-3) In step S460, the identification value matching the older timestamp compared in the second application is received and stored. Therefore, if there is no identification value generated in the second application, or if the identification value stored in the second application is newer, the first application will re-receive and store the identification value generated by itself, and the identification value stored in the second application will be stored. If the identification value is older, the older identification value stored in the second application is received, stored in the first application identification value storage, and transmitted to the advertisement server.
도 6은 본 발명의 일 실시 예에 따른 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법을 설명하기 위한 도면으로, 제1 어플리케이션으로부터 질의를 받은 제2 어플리케이션이 식별값을 비교하는 방법을 설명한다. FIG. 6 is a diagram illustrating a method for managing user identification values in a software development kit according to an embodiment of the present invention, and explains how a second application that receives a query from a first application compares identification values.
도 6을 참조하면, 본 발명의 일 실시 예에 따른 소프트웨어 개발 키트에서의 사용자 식별값 관리 방법언, (b-2) 단계 이후에 제2 어플리케이션은, 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하는 단계(S510); 상기 수신한 식별값과 상기 제2 어플리케이션에 저장된 식별값을 비교하여 더 오래 전에 생성된 식별값을 선별하는 단계(S520); 및 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신하는 단계(S530);를 포함한다. Referring to FIG. 6, in the method for managing user identification values in a software development kit according to an embodiment of the present invention, after step (b-2), the second application receives the identification value matched with the timestamp from the first application. Receiving (S510); Comparing the received identification value with an identification value stored in the second application to select an identification value created earlier (S520); and storing the identification value matched with the older timestamp and transmitting it to the first application (S530).
제2 어플리케이션이 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하는 단계(S510)에서는, 저장된 식별값이 없는 제1 어플리케이션이 새롭게 생성한 식별값을 수신한다. 제1 어플리케이션은 단말에서 활성화 중인 어플리케이션을 의미하며, 제2 어플리케이션이란 그 외의 어플리케이션으로 제1 어플리케이션으로부터 식별값을 질의 받은 어플리케이션을 의미한다. 이때 제2 어플리케이션은 복수의 어플리케이션 일 수 있으며, 단말에 설치된 제1 어플리케이션 외의 모든 어플리케이션 일 수 있다.In step S510, where the second application receives an identification value matching the timestamp from the first application, an identification value newly generated by the first application that does not have a stored identification value is received. The first application refers to an application that is active in the terminal, and the second application refers to another application that has received a query for an identification value from the first application. At this time, the second application may be a plurality of applications and may be any application other than the first application installed on the terminal.
제2 어플리케이션이 제1 어플리케이션으로부터 수신한 식별값과 제2 어플리케이션에 저장된 식별값을 비교하여 더 오래 전에 생성된 식별값을 선별하는 단계(S520)에서는, 식별값이 생성될 당시 매칭되어 생성되었던 타임스탬프를 통해 어떤 식별값이 더 오래 전에 생성되었는지 판단할 수 있다. 따라서 제2 어플리케이션에 생성된 식별값이 없거나, 제2 어플리케이션에 저장되어 있는 식별값이 더 새로운 것이라면, 제2 어플리케이션은 제1 어플리케이션이 송신하였던 식별값을 재송신하면서, 제1 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이고, 제2 어플리케이션에 저장되어 있는 식별값이 더 오래된 것이라면, 제2 어플리케이션에 저장되어 있던 더 오래된 식별값을 제1 어플리케이션에 송신하여 제1 어플리케이션은 제2 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이다.In the step (S520) where the second application compares the identification value received from the first application and the identification value stored in the second application to select an identification value that was created earlier (S520), the time that was generated by matching at the time the identification value was created Through the stamp, it is possible to determine which identification value was created more recently. Accordingly, if there is no identification value generated in the second application, or if the identification value stored in the second application is newer, the second application retransmits the identification value sent by the first application and transmits the identification value received from the first application. will be stored, and if the identification value stored in the second application is older, the older identification value stored in the second application will be transmitted to the first application, and the first application will transmit the identification value received from the second application. will be saved.
이에 제2 어플리케이션은 더 오래 전에 생성된 식별값을 선별하여, 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신(S530)하게 되어, 이와 같은 방식으로 단말 내에 설치된 모든 어플리케이션간 식별값이 동일하게 동기화되며, 이렇게 동기화된 식별값을 광고 서버에 전달하여 타겟팅 광고를 제공받게 된다. Accordingly, the second application selects the identification value created a long time ago, stores the identification value that matches the older timestamp, and transmits it to the first application (S530), and in this way, all the identification values installed in the terminal are stored. Identification values between applications are equally synchronized, and the synchronized identification values are transmitted to the ad server to receive targeted advertisements.
한편 다음에서는 장치의 관점에서 사용자 식별값 관리 소프트웨어 개발 키트를 설명한다. Meanwhile, the following describes the user identification value management software development kit from the device perspective.
도 7은 본 발명의 일 실시 예에 따른 사용자 식별값 관리 소프트웨어 개발 키트의 구성을 설명하기 위한 도면이다. Figure 7 is a diagram for explaining the configuration of a user identification value management software development kit according to an embodiment of the present invention.
도 7을 참조하면, 단말 내 각각의 어플리케이션에 구비된 소프트웨어 개발 키트(Software Development Kit, SDK)에 있어서, 본 발명의 일 실시 예에 따른 사용자 식별값 관리 소프트웨어 개발 키트는, 식별값을 저장하는 식별값 저장부(110); 상기 식별값 저장부(110)에 저장된 식별값이 없는 경우, 단말을 특정하는 식별값을 생성하는 식별값 생성부(120); 및 저장된 식별값을 광고 서버에 송신하여 광고를 요청하는 광고 요청부(130);를 포함한다. Referring to FIG. 7, in the software development kit (SDK) provided in each application in the terminal, the user identification value management software development kit according to an embodiment of the present invention is an identification that stores the identification value. value storage unit 110; If there is no identification value stored in the identification value storage unit 110, an identification value generator 120 that generates an identification value that specifies the terminal; and an
식별값 저장부(110)는 단말에 설치된 각 어플리케이션 내부의 저장 공간으로, 사용자의 명확한 접근 권한 동의가 필요한 SD카드 등의 외부저장소와 달리, 개별 어플리케이션의 고유 공간으로서 접근에 대한 별도의 권한이 필요하지 않다. 따라서 본 발명은 동일 단말 내에 설치된 어플리케이션의 식별값 저장부(110)를 동기화하는 방식으로 모두 동일한 식별값을 가지도록 하여 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 가능하게 할 수 있다.The identification value storage unit 110 is a storage space inside each application installed on the terminal. Unlike external storage such as an SD card that requires clear access permission consent from the user, the identification value storage unit 110 is a space unique to each application and requires separate permission for access. don't do it Therefore, the present invention can enable user targeting and re-targeting advertisements by synchronizing the identification value storage unit 110 of applications installed in the same terminal so that they all have the same identification value. there is.
식별값 생성부(120)는 식별값 저장부(110)에 저장된 식별값이 없는 경우 새로운 식별값을 생성할 수 있다. 단말이 초기화된 상태에서는 어떤 어플리케이션도 식별값을 갖고 있지 않을 것이기 때문에 맨 처음 식별값이 만들어 지는 경우에는 비교할 식별값이 없어, 맨 처음 만들어진 식별값이 해당 단말의 모든 어플리케이션이 동일한 식별값을 갖도록 하는 기준이 된다. The identification value generation unit 120 may generate a new identification value when there is no identification value stored in the identification value storage unit 110. Since no application will have an identification value when the terminal is initialized, there is no identification value to compare when the first identification value is created, so the first identification value created ensures that all applications of the terminal have the same identification value. It becomes a standard.
이때 상기 식별값 생성부(120)는, 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 것을 특징으로 할 수 있다. 여기서 타임스탬프란, 식별값이 언제 생성된 것인지 시간 또는 순서를 식별값과 함께 저장되는 메타 데이터이다. 따라서 이후에 어플리케이션에서 수신한 식별값을 비교할 경우, 어떤 것이 먼저 생성된 것인지 타임스탬프를 통해 선후를 판단할 수 있게 된다. At this time, the identification value generator 120 may generate the identification value by matching it with a timestamp. Here, a timestamp is metadata that stores the time or order of when the identification value was created, along with the identification value. Therefore, when comparing the identification values received from the application later, it is possible to determine which one was created first through the timestamp.
광고 요청부(130)는 저장된 식별값이 있는 경우, 상기 저장된 식별값을 광고 서버에 송신하여 광고를 요청하게 된다. 광고 서버에서는 수신한 식별값을 토대로 사용자가 누구인지 인식하여, 상기 사용자가 관심있게 본 사이트의 쿠키 자료를 기반으로 타겟팅 광고를 할 수 있다. 따라서 어플리케이션을 매체로 하여 광고를 서비스하는 in-app 광고 서비스에서는, 특정 사용자에 광고를 요청하는 사용자 혹은 단말에 대한 식별이 반드시 필요하다.If there is a stored identification value, the
본 발명의 다른 실시 예로 상기 식별값 저장부(110)에 저장된 식별값이 없는 경우에는, 상기 생성된 식별값을 다른 어플리케이션에 송신하고, 상기 다른 어플리케이션의 식별값 비교부(150)로부터 선별된 식별값을 수신하여 저장시키는 식별값 송수신부(140); 및 다른 어플리케이션으로부터 식별값을 수신한 경우, 상기 수신한 식별값과 상기 식별값 저장부(110)에 저장된 식별값을 비교하여 더 오래전에 생성된 식별값을 선별하여 상기 다른 어플리케이션에 재송신하는 식별값 비교부(150);를 더 포함할 수 있다. In another embodiment of the present invention, if there is no identification value stored in the identification value storage unit 110, the generated identification value is transmitted to another application, and the identification value selected from the identification
식별값 저장부(110)에 저장된 식별값이 없는 경우에 상기 식별값 송수신부(140)는 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 상기 새로운 식별값 보다 오래된 타임스탬프가 있는지 질의한다. 이때 제1 어플리케이션이란 단말에서 활성화된 어플리케이션을 의미하며, 제2 어플리케이션이란 그 외의 어플리케이션을 의미한다. 이때 제2 어플리케이션은 복수의 어플리케이션 일 수 있으며, 단말에 설치된 제1 어플리케이션 외의 모든 어플리케이션 일 수 있다. When there is no identification value stored in the identification value storage unit 110, the identification value transmitting and receiving
예를 들어 사용자가 제1 어플리케이션을 활성화시켰는데, 제1 어플리케이션에 저장된 식별값이 없으면, 타임스탬프와 매칭하여 식별값을 새로 생성하고, 상기 생성한 식별값보다 오래 전에 생성된 식별값이 있는지 제1 어플리케이션 이외의 다른 제2 어플리케이션에 질의한다. 제2 어플리케이션의 식별값 비교부(150)는 제2 어플리케이션의 식별부 저장부에 저장된 식별값과 비교하여, 더 오래 전에 생성된 식별값을 송신하여 준다.For example, if the user activates the first application, but there is no identification value stored in the first application, a new identification value is created by matching the timestamp, and a check is made to see if there is an identification value created long before the generated identification value. 1 Query a second application other than the application. The identification
예를 들어 사용자가 제1 어플리케이션을 활성화시켰는데, 제1 어플리케이션에 저장된 식별값이 없으면, 타임스탬프와 매칭하여 식별값을 새로 생성하고, 상기 생성한 식별값보다 오래 전에 생성된 식별값이 있는지 제1 어플리케이션 이외의 다른 제2 어플리케이션에 질의한다. 제2 어플리케이션은 이를 수신한 후 자신이 저장한 식별값과 비교하여, 더 오래 전에 생성된 식별값을 송신하여 준다. For example, if the user activates the first application, but there is no identification value stored in the first application, a new identification value is created by matching the timestamp, and a check is made to see if there is an identification value created long before the generated identification value. 1 Query a second application other than the application. After receiving this, the second application compares it with the identification value it stored and transmits an identification value that was created a long time ago.
제2 어플리케이션의 식별값 비교부(150)는 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하여, 식별값이 생성될 당시 매칭되어 생성되었던 타임스탬프를 통해 어떤 식별값이 더 오래 전에 생성되었는지 판단할 수 있다. 따라서 제2 어플리케이션에 생성된 식별값이 없거나, 제2 어플리케이션에 저장되어 있는 식별값이 더 새로운 것이라면, 제2 어플리케이션은 제1 어플리케이션이 송신하였던 식별값을 재송신하면서, 제1 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이고, 제2 어플리케이션에 저장되어 있는 식별값이 더 오래된 것이라면, 제2 어플리케이션에 저장되어 있던 더 오래된 식별값을 제1 어플리케이션에 송신하여 제1 어플리케이션은 제2 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이다.The identification
이에 제2 어플리케이션은 더 오래 전에 생성된 식별값을 선별하여, 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신하게 되어, 이와 같은 방식으로 단말 내에 설치된 모든 어플리케이션간 식별값이 동일하게 동기화되며, 이렇게 동기화된 식별값을 광고 서버에 전달하여 타겟팅 광고를 제공받게 된다.Accordingly, the second application selects an identification value created earlier, stores the identification value that matches the older timestamp, and transmits it to the first application, thereby identifying all applications installed in the terminal in this way. The values are synchronized identically, and the synchronized identification value is transmitted to the ad server to receive targeted advertisements.
지금까지는 소프트웨어 개발 키트가 주체인 관점에서 본 발명을 설명하였다. 이하에서는 단말의 관점에서 본 발명을 설명한다. So far, the present invention has been described from the perspective of a software development kit as the main agent. Hereinafter, the present invention will be described from the terminal perspective.
본 발명의 일 실시 예에 따른 단말에서의 사용자 식별값 관리 방법은, 소프트웨어 개발 키트가 사용자 식별값을 관리하는 방법에 있어서, (a) 제1 어플리케이션을 활성화하는 단계(S410); (b) 상기 제1 어플리케이션에 저장된 식별값을 검색하는 단계(S420); 및 (c) 상기 저장된 식별값을 광고 서버에 송신하여 광고를 요청하는 단계(S430);를 포함할 수 있고, 상기 식별값은 단말 내 모든 어플리케이션에 동일하도록 저장되는 것을 특징으로 할 수 있다. A method of managing a user identification value in a terminal according to an embodiment of the present invention includes the steps of: (a) activating a first application (S410); (b) retrieving the identification value stored in the first application (S420); and (c) requesting an advertisement by transmitting the stored identification value to an advertisement server (S430). The identification value may be stored identically in all applications within the terminal.
상기 (a) 단계(S410)는, 어플리케이션이 활성화되는 단계로 사용자의 입력에 따라 어플리케이션이 실행될 수 있다. 물론 어플리케이션은 백그라운드에서 이미 실행되어 있을 수 있지만, 여기서 어플리케이션의 활성화라 함은 사용자가 직접 디스플레이 화면에서 해당 어플리케이션의 정보를 볼 수 있는 상태를 의미한다. 한편 백그라운드 상태라 함은 어플리케이션이 실행되어 있으나, 디스플레이에 직접적으로 실행되어 있음이 보이지 않는 상태로 플래시 메모리에 공간을 차지하며 어플리케이션의 실행이 유지되는 상태를 의미한다. The step (a) (S410) is a step in which the application is activated, and the application can be executed according to the user's input. Of course, the application may already be running in the background, but here, activation of the application means a state in which the user can directly view information about the application on the display screen. Meanwhile, the background state refers to a state in which an application is running, but is not directly visible on the display, occupies space in flash memory, and execution of the application is maintained.
상기 (b) 단계(S420)에서는, 제1 어플리케이션이 내부 저장소(본 발명에서는 이하 ‘식별값 저장부’라 칭한다) 에 저장된 식별값이 있는지 검색할 수 있다. 여기서 식별값 저장부는 단말에 설치된 각 어플리케이션 내부의 저장 공간으로, 사용자의 명확한 접근 권한 동의가 필요한 SD카드 등의 외부저장소와 달리, 개별 어플리케이션의 고유 공간으로서 접근에 대한 별도의 권한이 필요하지 않다. 따라서 본 발명은 동일 단말 내에 설치된 어플리케이션의 식별값 저장부를 동기화하는 방식으로 모두 동일한 식별값을 가지도록 하여 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 가능하게 할 수 있다.In step (b) (S420), the first application can search for an identification value stored in the internal storage (hereinafter referred to as ‘identification value storage unit’ in the present invention). Here, the identification value storage is a storage space inside each application installed on the terminal. Unlike external storage such as an SD card that requires clear permission consent from the user, it is a space unique to each application and does not require separate permissions for access. Therefore, the present invention can enable user-targeting advertisements and re-targeting advertisements by synchronizing the identification value storage units of applications installed in the same terminal so that they all have the same identification value.
이에 (c) 단계(S430)에서는, 저장된 식별값을 검색한 경우, 상기 저장된 식별값을 광고 서버에 송신하여 광고를 요청하게 된다. 광고 서버에서는 수신한 식별값을 토대로 사용자가 누구인지 인식하여, 상기 사용자가 관심있게 본 사이트의 쿠키 자료를 기반으로 타겟팅 광고를 할 수 있다. 따라서 어플리케이션을 매체로 하여 광고를 서비스하는 in-app 광고 서비스에서는, 특정 사용자에 광고를 요청하는 사용자 혹은 단말에 대한 식별이 반드시 필요하다. Accordingly, in step (c) (S430), when the stored identification value is searched, the stored identification value is transmitted to the advertisement server to request an advertisement. The advertising server recognizes who the user is based on the received identification value and can target advertisements based on cookie data from the site that the user is interested in. Therefore, in the in-app advertising service that serves advertising using an application as a medium, identification of the user or terminal requesting advertising to a specific user is essential.
따라서 단말 내에 설치된 모든 어플리케이션이 동일한 식별값을 갖게 하는 것이 중요하다. 따라서 이하에서는 식별값이 동기화되는 방법을 설명한다. Therefore, it is important to ensure that all applications installed in the terminal have the same identification value. Therefore, the following describes how identification values are synchronized.
본 발명의 따른 단말에서의 사용자 식별값 관리 방법의 다른 실시 예로, 제1 어플리케이션에 저장된 식별값이 없는 경우에 상기 (b) 단계(S420)는, (b-1) 새로운 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 단계(S440); (b-2) 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 보다 오래된 타임스탬프가 있는지 질의하는 단계(S450); 및 (b-3) 상기 제2 어플리케이션이 판단한 더 오래된 식별값을 수신하여 저장하는 단계(S460);를 포함할 수 있다. As another example of a method for managing user identification values in a terminal according to the present invention, when there is no identification value stored in the first application, step (b) (S420) includes (b-1) entering a new identification value as a timestamp ( A step of generating by matching timestamp (S440); (b-2) transmitting the new identification value to a second application and querying whether there is an older timestamp (S450); and (b-3) receiving and storing an older identification value determined by the second application (S460).
(b-1) 단계(S440)에서는 새로운 식별값을 타임스탬프(timestamp)와 매칭하여 생성할 수 있는데, 이는 이후에 어플리케이션에서 수신한 식별값을 비교할 경우, 어떤 것이 먼저 생성된 것인지 판단하기 위함이다. 단말이 초기화된 상태에서는 어떤 어플리케이션도 식별값을 갖고 있지 않을 것이기 때문에 맨 처음 식별값이 만들어 지는 경우에는 비교할 식별값이 없어, 맨 처음 만들어진 식별값이 해당 단말의 모든 어플리케이션이 동일한 식별값을 갖도록 하는 기준이 된다. In step (b-1) (S440), a new identification value can be created by matching a timestamp. This is to determine which one was created first when comparing identification values received from the application later. . Since no application will have an identification value when the terminal is initialized, there is no identification value to compare when the first identification value is created, so the first identification value created ensures that all applications of the terminal have the same identification value. It becomes a standard.
여기서 타임스탬프란, 식별값이 언제 생성된 것인지 시간 또는 순서를 식별값과 함께 저장되는 메타 데이터이다. Here, a timestamp is metadata that stores the time or order of when the identification value was created, along with the identification value.
(b-2) 단계(S450)에서는, 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 상기 새로운 식별값 보다 오래된 타임스탬프가 있는지 질의한다. 이때 제1 어플리케이션이란 단말에서 활성화된 어플리케이션을 의미하며, 제2 어플리케이션이란 그 외의 어플리케이션을 의미한다. 이때 제2 어플리케이션은 복수의 어플리케이션 일 수 있으며, 단말에 설치된 제1 어플리케이션 외의 모든 어플리케이션 일 수 있다. (b-2) In step S450, the new identification value is transmitted to the second application to query whether there is a timestamp older than the new identification value. At this time, the first application refers to an application activated in the terminal, and the second application refers to other applications. At this time, the second application may be a plurality of applications and may be any application other than the first application installed on the terminal.
예를 들어 사용자가 제1 어플리케이션을 활성화시켰는데, 제1 어플리케이션에 저장된 식별값이 없으면, 타임스탬프와 매칭하여 식별값을 새로 생성하고, 상기 생성한 식별값보다 오래 전에 생성된 식별값이 있는지 제1 어플리케이션 이외의 다른 제2 어플리케이션에 질의한다. 제2 어플리케이션은 이를 수신한 후 자신이 저장한 식별값과 비교하여, 더 오래 전에 생성된 식별값을 송신하여 준다. 제2 어플리케이션에서 이루어지는 비교 과정은 이후 도 5와 함께 상세히 설명하기로 한다. For example, if the user activates the first application, but there is no identification value stored in the first application, a new identification value is created by matching the timestamp, and a check is made to see if there is an identification value created long before the generated identification value. 1 Query a second application other than the application. After receiving this, the second application compares it with the identification value it stored and transmits an identification value that was created a long time ago. The comparison process performed in the second application will be described in detail later with reference to FIG. 5.
(b-3) 단계(S460)에서는, 제2 어플리케이션에서 비교된 더 오래된 타임스탬프와 매칭된 식별값을 수신하여 저장한다. 따라서 제2 어플리케이션에 생성된 식별값이 없거나, 제2 어플리케이션에 저장되어 있는 식별값이 더 새로운 것이라면, 제1 어플리케이션 자신이 생성한 식별값을 재수신하여 저장하게 될 것이고, 제2 어플리케이션에 저장되어 있는 식별값이 더 오래된 것이라면, 제2 어플리케이션에 저장되어 있던 더 오래된 식별값을 수신하여 제1 어플리케이션 식별값 저장부에 저장하고 이를 광고 서버에 송신하게 될 것이다. (b-3) In step S460, the identification value matching the older timestamp compared in the second application is received and stored. Therefore, if there is no identification value generated in the second application, or if the identification value stored in the second application is newer, the first application will re-receive and store the identification value generated by itself, and the identification value stored in the second application will be stored. If the identification value is older, the older identification value stored in the second application is received, stored in the first application identification value storage, and transmitted to the advertisement server.
본 발명의 일 실시 예에 따른 단말에서의 사용자 식별값 관리 방법언, (b-2) 단계 이후에 제2 어플리케이션은, 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하는 단계(S510); 상기 수신한 식별값과 상기 제2 어플리케이션에 저장된 식별값을 비교하여 더 오래 전에 생성된 식별값을 선별하는 단계(S520); 및 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신하는 단계(S530);를 포함한다. A method for managing user identification values in a terminal according to an embodiment of the present invention, after step (b-2), the second application receives an identification value matched with a timestamp from the first application (S510); Comparing the received identification value with an identification value stored in the second application to select an identification value created earlier (S520); and storing the identification value matched with the older timestamp and transmitting it to the first application (S530).
제2 어플리케이션이 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하는 단계(S510)에서는, 저장된 식별값이 없는 제1 어플리케이션이 새롭게 생성한 식별값을 수신한다. 제1 어플리케이션은 단말에서 활성화 중인 어플리케이션을 의미하며, 제2 어플리케이션이란 그 외의 어플리케이션으로 제1 어플리케이션으로부터 식별값을 질의 받은 어플리케이션을 의미한다. 이때 제2 어플리케이션은 복수의 어플리케이션 일 수 있으며, 단말에 설치된 제1 어플리케이션 외의 모든 어플리케이션 일 수 있다.In step S510, where the second application receives an identification value matching the timestamp from the first application, an identification value newly generated by the first application that does not have a stored identification value is received. The first application refers to an application that is active in the terminal, and the second application refers to another application that has received a query for an identification value from the first application. At this time, the second application may be a plurality of applications and may be any application other than the first application installed on the terminal.
제2 어플리케이션이 제1 어플리케이션으로부터 수신한 식별값과 제2 어플리케이션에 저장된 식별값을 비교하여 더 오래 전에 생성된 식별값을 선별하는 단계(S520)에서는, 식별값이 생성될 당시 매칭되어 생성되었던 타임스탬프를 통해 어떤 식별값이 더 오래 전에 생성되었는지 판단할 수 있다. 따라서 제2 어플리케이션에 생성된 식별값이 없거나, 제2 어플리케이션에 저장되어 있는 식별값이 더 새로운 것이라면, 제2 어플리케이션은 제1 어플리케이션이 송신하였던 식별값을 재송신하면서, 제1 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이고, 제2 어플리케이션에 저장되어 있는 식별값이 더 오래된 것이라면, 제2 어플리케이션에 저장되어 있던 더 오래된 식별값을 제1 어플리케이션에 송신하여 제1 어플리케이션은 제2 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이다.In the step (S520) where the second application compares the identification value received from the first application and the identification value stored in the second application to select an identification value that was created earlier (S520), the time that was generated by matching at the time the identification value was created Through the stamp, it is possible to determine which identification value was created more recently. Accordingly, if there is no identification value generated in the second application, or if the identification value stored in the second application is newer, the second application retransmits the identification value sent by the first application and transmits the identification value received from the first application. will be stored, and if the identification value stored in the second application is older, the older identification value stored in the second application will be transmitted to the first application, and the first application will transmit the identification value received from the second application. will be saved.
이에 제2 어플리케이션은 더 오래 전에 생성된 식별값을 선별하여, 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신(S530)하게 되어, 이와 같은 방식으로 단말 내에 설치된 모든 어플리케이션간 식별값이 동일하게 동기화되며, 이렇게 동기화된 식별값을 광고 서버에 전달하여 타겟팅 광고를 제공받게 된다. Accordingly, the second application selects the identification value created a long time ago, stores the identification value that matches the older timestamp, and transmits it to the first application (S530), and in this way, all the identification values installed in the terminal are stored. Identification values between applications are equally synchronized, and the synchronized identification values are transmitted to the ad server to receive targeted advertisements.
한편 다음에서는 장치의 관점에서 사용자 식별값 관리 단말을 설명한다. Meanwhile, the following describes the user identification value management terminal from the device perspective.
단말 내 각각의 어플리케이션에 구비된 소프트웨어 개발 키트(Software Development Kit, SDK)에 있어서, 본 발명의 일 실시 예에 따른 사용자 식별값 관리 단말은, 식별값을 저장하는 식별값 저장부(110); 상기 식별값 저장부(110)에 저장된 식별값이 없는 경우, 단말을 특정하는 식별값을 생성하는 식별값 생성부(120); 및 저장된 식별값을 광고 서버에 송신하여 광고를 요청하는 광고 요청부(130);를 포함한다. In the software development kit (SDK) provided for each application in the terminal, the user identification value management terminal according to an embodiment of the present invention includes an identification value storage unit 110 that stores an identification value; If there is no identification value stored in the identification value storage unit 110, an identification value generator 120 that generates an identification value that specifies the terminal; and an
식별값 저장부(110)는 단말에 설치된 각 어플리케이션 내부의 저장 공간으로, 사용자의 명확한 접근 권한 동의가 필요한 SD카드 등의 외부저장소와 달리, 개별 어플리케이션의 고유 공간으로서 접근에 대한 별도의 권한이 필요하지 않다. 따라서 본 발명은 동일 단말 내에 설치된 어플리케이션의 식별값 저장부(110)를 동기화하는 방식으로 모두 동일한 식별값을 가지도록 하여 사용자 타겟팅(targeting) 광고 및 리타겟팅(re-targeting) 광고를 가능하게 할 수 있다.The identification value storage unit 110 is a storage space inside each application installed on the terminal. Unlike external storage such as an SD card that requires clear access permission consent from the user, the identification value storage unit 110 is a space unique to each application and requires separate permission for access. don't do it Therefore, the present invention can enable user targeting and re-targeting advertisements by synchronizing the identification value storage unit 110 of applications installed in the same terminal so that they all have the same identification value. there is.
식별값 생성부(120)는 식별값 저장부(110)에 저장된 식별값이 없는 경우 새로운 식별값을 생성할 수 있다. 단말이 초기화된 상태에서는 어떤 어플리케이션도 식별값을 갖고 있지 않을 것이기 때문에 맨 처음 식별값이 만들어 지는 경우에는 비교할 식별값이 없어, 맨 처음 만들어진 식별값이 해당 단말의 모든 어플리케이션이 동일한 식별값을 갖도록 하는 기준이 된다. The identification value generation unit 120 may generate a new identification value when there is no identification value stored in the identification value storage unit 110. Since no application will have an identification value when the terminal is initialized, there is no identification value to compare when the first identification value is created, so the first identification value created ensures that all applications of the terminal have the same identification value. It becomes a standard.
이때 상기 식별값 생성부(120)는, 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 것을 특징으로 할 수 있다. 여기서 타임스탬프란, 식별값이 언제 생성된 것인지 시간 또는 순서를 식별값과 함께 저장되는 메타 데이터이다. 따라서 이후에 어플리케이션에서 수신한 식별값을 비교할 경우, 어떤 것이 먼저 생성된 것인지 타임스탬프를 통해 선후를 판단할 수 있게 된다. At this time, the identification value generator 120 may generate the identification value by matching it with a timestamp. Here, a timestamp is metadata that stores the time or order of when the identification value was created, along with the identification value. Therefore, when comparing the identification values received from the application later, it is possible to determine which one was created first through the timestamp.
광고 요청부(130)는 저장된 식별값이 있는 경우, 상기 저장된 식별값을 광고 서버에 송신하여 광고를 요청하게 된다. 광고 서버에서는 수신한 식별값을 토대로 사용자가 누구인지 인식하여, 상기 사용자가 관심있게 본 사이트의 쿠키 자료를 기반으로 타겟팅 광고를 할 수 있다. 따라서 어플리케이션을 매체로 하여 광고를 서비스하는 in-app 광고 서비스에서는, 특정 사용자에 광고를 요청하는 사용자 혹은 단말에 대한 식별이 반드시 필요하다.If there is a stored identification value, the
본 발명의 다른 실시 예로 상기 식별값 저장부(110)에 저장된 식별값이 없는 경우에는, 상기 생성된 식별값을 다른 어플리케이션에 송신하고, 상기 다른 어플리케이션의 식별값 비교부(150)로부터 선별된 식별값을 수신하여 저장시키는 식별값 송수신부(140); 및 다른 어플리케이션으로부터 식별값을 수신한 경우, 상기 수신한 식별값과 상기 식별값 저장부(110)에 저장된 식별값을 비교하여 더 오래전에 생성된 식별값을 선별하여 상기 다른 어플리케이션에 재송신하는 식별값 비교부(150);를 더 포함할 수 있다. In another embodiment of the present invention, if there is no identification value stored in the identification value storage unit 110, the generated identification value is transmitted to another application, and the identification value selected from the identification
식별값 저장부(110)에 저장된 식별값이 없는 경우에 상기 식별값 송수신부(140)는 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 상기 새로운 식별값 보다 오래된 타임스탬프가 있는지 질의한다. 이때 제1 어플리케이션이란 단말에서 활성화된 어플리케이션을 의미하며, 제2 어플리케이션이란 그 외의 어플리케이션을 의미한다. 이때 제2 어플리케이션은 복수의 어플리케이션 일 수 있으며, 단말에 설치된 제1 어플리케이션 외의 모든 어플리케이션 일 수 있다. When there is no identification value stored in the identification value storage unit 110, the identification value transmitting and receiving
예를 들어 사용자가 제1 어플리케이션을 활성화시켰는데, 제1 어플리케이션에 저장된 식별값이 없으면, 타임스탬프와 매칭하여 식별값을 새로 생성하고, 상기 생성한 식별값보다 오래 전에 생성된 식별값이 있는지 제1 어플리케이션 이외의 다른 제2 어플리케이션에 질의한다. 제2 어플리케이션의 식별값 비교부(150)는 제2 어플리케이션의 식별부 저장부에 저장된 식별값과 비교하여, 더 오래 전에 생성된 식별값을 송신하여 준다.For example, if the user activates the first application, but there is no identification value stored in the first application, a new identification value is created by matching the timestamp, and a check is made to see if there is an identification value created long before the generated identification value. 1 Query a second application other than the application. The identification
예를 들어 사용자가 제1 어플리케이션을 활성화시켰는데, 제1 어플리케이션에 저장된 식별값이 없으면, 타임스탬프와 매칭하여 식별값을 새로 생성하고, 상기 생성한 식별값보다 오래 전에 생성된 식별값이 있는지 제1 어플리케이션 이외의 다른 제2 어플리케이션에 질의한다. 제2 어플리케이션은 이를 수신한 후 자신이 저장한 식별값과 비교하여, 더 오래 전에 생성된 식별값을 송신하여 준다. For example, if the user activates the first application, but there is no identification value stored in the first application, a new identification value is created by matching the timestamp, and a check is made to see if there is an identification value created long before the generated identification value. 1 Query a second application other than the application. After receiving this, the second application compares it with the identification value it stored and transmits an identification value that was created a long time ago.
제2 어플리케이션의 식별값 비교부(150)는 제1 어플리케이션으로부터 타임스탬프와 매칭된 식별값을 수신하여, 식별값이 생성될 당시 매칭되어 생성되었던 타임스탬프를 통해 어떤 식별값이 더 오래 전에 생성되었는지 판단할 수 있다. 따라서 제2 어플리케이션에 생성된 식별값이 없거나, 제2 어플리케이션에 저장되어 있는 식별값이 더 새로운 것이라면, 제2 어플리케이션은 제1 어플리케이션이 송신하였던 식별값을 재송신하면서, 제1 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이고, 제2 어플리케이션에 저장되어 있는 식별값이 더 오래된 것이라면, 제2 어플리케이션에 저장되어 있던 더 오래된 식별값을 제1 어플리케이션에 송신하여 제1 어플리케이션은 제2 어플리케이션으로부터 수신한 식별값을 저장하게 될 것이다.The identification
이에 제2 어플리케이션은 더 오래 전에 생성된 식별값을 선별하여, 상기 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신하게 되어, 이와 같은 방식으로 단말 내에 설치된 모든 어플리케이션간 식별값이 동일하게 동기화되며, 이렇게 동기화된 식별값을 광고 서버에 전달하여 타겟팅 광고를 제공받게 된다.Accordingly, the second application selects an identification value created earlier, stores the identification value that matches the older timestamp, and transmits it to the first application, thereby identifying all applications installed in the terminal in this way. The values are synchronized identically, and the synchronized identification value is transmitted to the ad server to receive targeted advertisements.
더불어 본 발명의 방법은 이를 실행하기 위한 프로그램 또는 어플리케이션 형태로 구현될 수도 있으며, 이러한 프로그램 또는 어플리케이션이 수록된 컴퓨터로 판독 가능한 기록 매체 등도 본 발명의 범위에 포함되어야 한다.In addition, the method of the present invention may be implemented in the form of a program or application for executing the same, and a computer-readable recording medium containing such a program or application should also be included in the scope of the present invention.
이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 실시 형태로 실시될 수 있다는 것을 인지할 수 있을 것이다. 따라서 이상에서 기술한 실시 예들은 예시적인 것일 뿐이며, 그 범위를 제한해놓은 한정적인 것이 아닌 것으로 이해해야만 한다. 또한, 도면에 도시된 순서도들은 본 발명을 실시함에 있어서 가장 바람직한 결과를 달성하기 위해 예시적으로 도시된 순차적인 순서에 불과하며, 다른 추가적인 단계들이 제공되거나, 일부 단계가 삭제될 수 있음은 물론이다. As such, a person skilled in the art to which the present invention pertains will be able to recognize that the present invention can be implemented in other specific embodiments without changing its technical idea or essential features. Therefore, the embodiments described above are merely illustrative and should be understood as not limiting in scope. In addition, the flow charts shown in the drawings are merely exemplary sequential sequences to achieve the most desirable results in carrying out the present invention, and of course, other additional steps may be provided or some steps may be deleted. .
본 명세서에서 기술한 기술적 특징과 이를 실행하는 구현물은 디지털 전자 회로로 구현되거나, 본 명세서에서 기술하는 구조 및 그 구조적인 등가물 등을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 이들 중 하나 이상의 조합으로 구현 가능하다. 또한 본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어에 관한 모듈로서 구현될 수도 있다. The technical features described in this specification and implementations that implement them are implemented as digital electronic circuits, computer software, firmware, or hardware including the structures described in this specification and their structural equivalents, or a combination of one or more of these. It can be implemented as: Additionally, an implementation that implements the technical features described in this specification may be a computer program product, that is, as a module of computer program instructions encoded on a tangible program storage medium for controlling the operation of or execution by a processing system. It may be implemented.
컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 또는 이들 중 하나 이상의 조합일 수 있다.A computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects a machine-readable radio wave signal, or a combination of one or more of these.
한편, 본 명세서에서 "장치"나 "시스템"이라 함은 예를 들어, 프로세서, 컴퓨터 또는 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 모두 포함한다. 처리 시스템은, 하드웨어에 부가하여 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 제체 또는 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 모든 코드를 포함할 수 있다.Meanwhile, in this specification, “device” or “system” includes all instruments, devices, and machines for processing data, including, for example, processors, computers, or multiple processors or computers. A processing system includes any code that, in addition to the hardware, forms an execution environment for computer programs on demand, for example, the code that makes up the processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these. can do.
프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드 등으로 알려진 컴퓨터 프로그램은 컴파일 되거나 해석된 언어 또는 선험적, 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 구현될 수 있다. A computer program, known as a program, software, software application, script, or code, may be written in any form of programming language, including compiled, interpreted, or a priori or procedural languages, and may be a stand-alone program or module, component, or subprogram. It may be implemented in any form, including routines or other units suitable for use in a computer environment.
한편, 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응되는 것은 아니며, 요청된 프로그램에 제공되는 단일 파일 내에 또는 다중의 상호 작용하는 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)내에, 또는 다른 프로그램이나 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트)내에 저장될 수 있다.On the other hand, a computer program does not necessarily correspond to a file in the file system, either within a single file provided to the requested program, or in multiple interacting files (e.g., storing one or more modules, subprograms, or portions of code). It may be stored within a file), or within a portion of a file that holds other programs or data (e.g., one or more scripts stored within a markup language document).
컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 유/무선 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나 이상의 컴퓨터 상에서 실행되도록 구현될 수 있다. The computer program may be implemented to run on multiple computers or one or more computers located at one site or distributed across multiple sites and interconnected by a wired/wireless communication network.
한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예를 들어 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD와 DVD 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.Meanwhile, computer-readable media suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and external disks, and magneto-optical disks. and all forms of non-volatile memory, media, and memory devices, including CD and DVD disks. The processor and memory may be supplemented by, or integrated into, special-purpose logic circuitry.
본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 예를 들어, 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예를 들어, 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예를 들어, 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.Implementations that implement the technical features described herein may include backend components, for example, a data server, or middleware components, for example, an application server, or, for example, a user may use an implementation of the subject matter described herein. It may be implemented in a front-end component, such as a web browser or a client computer with a graphical user interface capable of interacting with the computer, or in a computing system that includes any combination of one or more of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, for example, a telecommunications network.
이하, 상기 기술한 내용과 더불어 본 명세서에 기술한 시스템과 MO 서비스 기반 혜택 제공 방법이 포함하는 구성들을 구현할 수 있는 보다 구체적인 실시 예에 대하여 자세히 기술하도록 한다.Hereinafter, in addition to the content described above, a more specific embodiment that can implement the components included in the system and MO service-based benefit provision method described in this specification will be described in detail.
본 명세서에서 기술한 시스템과 단말에서의 사용자 식별값 관리 방법은 클라이언트 디바이스 또는 웹 기반의 스토리지 시스템과 관련된 서버 또는 서버에 포함된 하나 이상의 프로세서(Processor) 상에서 컴퓨터 소프트웨어, 프로그램 코드 또는 명령어를 실행하는 수단을 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 프로세서는 서버, 클라이언트, 네트워크 인프라 구조, 모바일 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼 등과 같은 컴퓨팅 플랫폼 중 일부일 수 있으며, 구체적으로 프로그램 명령어, 코드 등을 실행할 수 있는 컴퓨터 또는 프로세싱 디바이스의 한 종류일 수 있다. 또한, 프로세서는 단말에서의 사용자 식별값 관리 방법, 명령어, 코드 및 프로그램을 저장하는 메모리를 더 포함할 수 있으며, 메모리를 포함하지 않는 경우 별도의 인터페이스를 통해 단말에서의 사용자 식별값 관리 방법, 명령어, 코드 및 프로그램이 저장된 CD-ROM, DVD, 메모리, 하드 디스크, 플래시 드라이브, RAM, ROM, 캐시 등과 같은 스토리지 디바이스에 접근(Access)할 수도 있다. The user identification value management method in the system and terminal described herein is a means of executing computer software, program code, or instructions on a client device or a server related to a web-based storage system or one or more processors included in the server. It can be used partially or fully. Here, the processor may be part of a computing platform such as a server, client, network infrastructure, mobile computing platform, fixed computing platform, etc., and may specifically be a type of computer or processing device capable of executing program instructions, code, etc. In addition, the processor may further include a memory for storing a user identification value management method, commands, codes, and programs in the terminal. If the processor does not include memory, a user identification value management method and commands in the terminal may be provided through a separate interface. , you can also access storage devices such as CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache, etc. where codes and programs are stored.
또한, 본 명세서에서 기술한 시스템과 단말에서의 사용자 식별값 관리 방법은 서버, 클라이언트, 게이트웨이, 허브, 라우터 또는 네트워크 하드웨어 상의 컴퓨터 소프트웨어를 실행하는 장치를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 소프트웨어는 파일 서버, 프린트 서버, 도메인 서버, 인터넷 서버, 인트라넷 서버, 호스트 서버, 분산 서버 등과같이 다양한 종류의 서버에서 실행될 수 있으며, 상기 언급한 서버들은 메모리, 프로세서, 컴퓨터에서 판독 가능한 저장매체, 스토리지 매체, 통신 디바이스, 포트, 클라이언트 그리고 다른 서버들을 유/무선 네트워크를 통해 접근할 수 있는 인터페이스를 더 포함할 수 있다. Additionally, the user identification value management method in the system and terminal described herein may be used partially or entirely through a server, client, gateway, hub, router, or device running computer software on network hardware. Here, the software can be executed on various types of servers such as file servers, print servers, domain servers, Internet servers, intranet servers, host servers, distributed servers, etc. The above-mentioned servers include memory, processors, computer-readable storage media, It may further include an interface for accessing storage media, communication devices, ports, clients, and other servers through wired/wireless networks.
또한, 단말에서의 사용자 식별값 관리 방법, 명령어, 코드 등 역시 서버에 의해 실행될 수 있으며, 단말에서의 사용자 식별값 관리 방법을 실행하기 위해 필요한 다른 디바이스들은 서버와 연관된 계층구조의 일 부분으로 구현될 수 있다. Additionally, user identification value management methods, commands, codes, etc. in the terminal may also be executed by the server, and other devices required to execute the user identification value management method in the terminal may be implemented as part of the hierarchy associated with the server. You can.
아울러, 서버는 클라이언트, 다른 서버, 프린터, 데이터베이스 서버, 프린트 서버, 파일 서버, 통신 서버, 분산 서버 등을 제한 없이 포함하는 다른 디바이스에게 인터페이스를 제공할 수 있으며, 인터페이스를 통한 연결은 유/무선 네트워크를 통해 프로그램의 원격 실행을 용이하게 할 수 있다. In addition, the server can provide an interface to other devices, including without limitation clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers, etc., and connections through the interface can be made through wired/wireless networks. It is possible to facilitate remote execution of programs.
또한, 인터페이스를 통해 서버에 연결된 디바이스 중 어느 것이라도 단말에서의 사용자 식별값 관리 방법, 명령어, 코드 등을 저장할 수 있는 적어도 하나의 스토리지 디바이스를 더 포함할 수 있으며, 서버의 중앙 프로세서는 상이한 디바이스 상에서 실행될 명령어, 코드 등을 디바이스에 제공하여 스토리지 디바이스에 저장되게 할 수 있다.In addition, any of the devices connected to the server through the interface may further include at least one storage device capable of storing a user identification value management method, commands, codes, etc. in the terminal, and the central processor of the server may operate on the different devices. Commands, codes, etc. to be executed can be provided to the device and stored in the storage device.
한편, 본 명세서에서 기술한 시스템과 단말에서의 사용자 식별값 관리 방법은 네트워크 인프라구조를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 네트워크 인프라구조는 컴퓨팅 디바이스, 서버, 라우터, 허브, 방화벽, 클라이언트, 개인용 컴퓨터, 통신 디바이스, 라우팅 디바이스 등과 같은 디바이스와 각각의 기능을 실행할 수 있는 별도의 모듈 등을 모두 포함할 수 있으며, 상기 언급한 디바이스와 모듈 외에 스토리 플래시 메모리, 버퍼, 스택, RAM, ROM 등과 같은 스토리지 매체를 더 포함할 수 있다. 또한, 단말에서의 사용자 식별값 관리 방법, 명령어, 코드 등 역시 네트워크 인프라구조가 포함하는 디바이스, 모듈, 스토리지 매체 중 어느 하나에 의해 실행 및 저장될 수 있으며, 단말에서의 사용자 식별값 관리 방법을 실행하기 위해 필요한 다른 디바이스 역시 네트워크 인프라구조의 일 부분으로 구현될 수 있다.Meanwhile, the method for managing user identification values in systems and terminals described in this specification can be used partially or entirely through a network infrastructure. Here, the network infrastructure may include devices such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices, etc., as well as separate modules capable of executing each function, as mentioned above. In addition to one device and module, it may further include storage media such as story flash memory, buffer, stack, RAM, ROM, etc. In addition, the user identification value management method, commands, and codes in the terminal can also be executed and stored by any one of the devices, modules, and storage media included in the network infrastructure, and the user identification value management method in the terminal is executed. Other devices required to do so may also be implemented as part of the network infrastructure.
또한, 본 명세서에서 기술한 시스템과 단말에서의 사용자 식별값 관리 방법은 하드웨어 또는 특정 어플리케이션(Application)에 적합한 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 여기서 하드웨어는 개인용 컴퓨터, 이동통신 단말기 등과 같은 범용 컴퓨터 디바이스와 기업형 특정 컴퓨터 디바이스를 모두 포함하며, 컴퓨터 디바이스는 메모리, 마이크로프로세서, 마이크로콘트롤러, 디지털 신호 프로세서, 어플리케이션 집적 회로, 프로그래머블 게이트 어레이, 프로그래머블 어레이 조직 등을 포함하는 디바이스 또는 이들의 조합으로 구현될 수 있다. Additionally, the method for managing user identification values in systems and terminals described in this specification can be implemented with hardware or a combination of hardware and software suitable for a specific application. Here, hardware includes both general-purpose computer devices such as personal computers and mobile communication terminals and enterprise-specific computer devices, and computer devices include memory, microprocessors, microcontrollers, digital signal processors, application integrated circuits, programmable gate arrays, and programmable array organizations. It may be implemented as a device including, or a combination thereof.
이상에서 기술한 컴퓨터 소프트웨어, 명령어, 코드 등은 판독 가능한 디바이스에 의해 저장 또는 접근될 수 있으며, 여기서 판독 가능한 디바이스는 일정 시간 간격 동안 컴퓨팅하는데 사용되는 디지털 데이터를 구비하는 컴퓨터 컴포넌트, RAM 또는 ROM과 같은 반도체 스토리지, 광디스크와 같은 영구적인 스토리지, 하드 디스크, 테이프, 드럼 등과 같은 대용량 스토리지, CD 또는 DVD와 같은 광 스토리지, 플래시 메모리, 플로피 디스크, 자기 테이프, 페이퍼 테이프, 독립형 RAM 디스크, 컴퓨터로부터 착탈 가능한 대용량 스토리지와 동적 메모리, 정적 메모리, 가변 스토리지, 클라우드와 같은 네트워크 접속형 스토리지 등과 같은 메모리를 포함할 수 있다. 한편, 여기서 명령어와 코드 등은 SQL, dBase 등과 같은 데이터 지향 언어, C, Objective C, C++, 어셈블리 등과 같은 시스템 언어, Java, NET 등과 같은 아키텍처 언어, PHP, Ruby, Perl, Python 등과 같은 어플리케이션 언어 등과 같은 언어들을 모두 포함하지만, 이에 한정되지는 않고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려진 언어들을 모두 포함할 수 있다. The computer software, instructions, codes, etc. described above may be stored or accessed by a readable device, where the readable device is a computer component, such as RAM or ROM, that contains digital data used for computing during a certain time interval. Semiconductor storage, permanent storage such as optical disks, mass storage such as hard disks, tapes, drums, etc., optical storage such as CDs or DVDs, flash memory, floppy disks, magnetic tapes, paper tapes, independent RAM disks, large capacity removable from the computer. It may include storage and memory such as dynamic memory, static memory, variable storage, and network-attached storage such as cloud. Meanwhile, the commands and codes here include data-oriented languages such as SQL, dBase, etc., system languages such as C, Objective C, C++, assembly, etc., architecture languages such as Java, NET, etc., and application languages such as PHP, Ruby, Perl, Python, etc. It includes all the same languages, but is not limited thereto, and may include all languages widely known to those skilled in the art in the technical field to which the present invention pertains.
또한, 본 명세서에서 기술한 "컴퓨터에서 판독 가능한 매체"는 프로그램 실행을 위해 명령어를 프로세서로 제공하는데 기여하는 모든 매체를 포함한다. 구체적으로 데이터 스토리지 디바이스, 광디스크, 자기 디스크 등과 같은 비휘발성 매체, 동적 메모리 등과 같은 휘발성 매체와 데이터를 전송하는 동축 케이블, 구리 와이어, 광섬유 등과 같은 전송 매체를 포함하지만 이에 한정되지는 않는다. Additionally, “computer-readable media” as used herein includes all media that contribute to providing instructions to a processor for program execution. Specifically, it includes, but is not limited to, non-volatile media such as data storage devices, optical disks, magnetic disks, etc., volatile media such as dynamic memory, and transmission media such as coaxial cables, copper wires, optical fibers, etc. that transmit data.
한편, 본 명세서에 첨부된 도면에 도시된 블록도와 순서도에 포함된 본 발명의 기술적 특징을 실행하는 구성들은 상기 구성들 사이의 논리적인 경계를 의미한다. Meanwhile, configurations that implement the technical features of the present invention included in the block diagram and flow chart shown in the drawings attached to this specification represent logical boundaries between the configurations.
그러나 소프트웨어나 하드웨어의 실시 예에 따르면, 도시된 구성들과 그 기능들은 독립형 소프트웨어 모듈, 모놀리식 소프트웨어 구조, 코드, 서비스 및 이들을 조합한 형태로 실행되며, 저장된 프로그램 코드, 명령어 등을 실행할 수 있는 프로세서를 구비한 컴퓨터에서 실행 가능한 매체에 저장되어 그 기능들이 구현될 수 있으므로 이러한 모든 실시 예 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.However, according to an embodiment of the software or hardware, the depicted configurations and their functions are executed in the form of stand-alone software modules, monolithic software structures, codes, services, and combinations thereof, and can execute stored program code, instructions, etc. Since the functions can be implemented by being stored in a medium executable on a computer equipped with a processor, all of these embodiments should also be regarded as falling within the scope of the present invention.
따라서, 첨부된 도면과 그에 대한 기술은 본 발명의 기술적 특징을 설명하기는 하나, 이러한 기술적 특징을 구현하기 위한 소프트웨어의 특정 배열이 분명하게 언급되지 않는 한, 단순히 추론되어서는 안된다. 즉, 이상에서 기술한 다양한 실시 예들이 존재할 수 있으며, 그러한 실시 예들이 본 발명과 동일한 기술적 특징을 보유하면서 일부 변형될 수 있으므로, 이 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다. Accordingly, although the attached drawings and their descriptions illustrate the technical features of the present invention, they should not be simply inferred unless a specific arrangement of software for implementing these technical features is clearly stated. In other words, various embodiments described above may exist, and since such embodiments may be partially modified while retaining the same technical features as the present invention, these should also be regarded as falling within the scope of the present invention.
또한, 순서도의 경우 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 가장 바람직한 결과를 얻기 위하여 도시된 것으로서, 도시된 특정한 순서나 순차적인 순서대로 그러한 동작들을 반드시 실행되어야 한다거나 모든 도시된 동작들이 반드시 실행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티 태스킹과 병렬 프로세싱이 유리할 수 있다. 아울러, 이상에서 기술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.In addition, in the case of a flowchart, operations are depicted in the drawing in a specific order, but this is shown to obtain the most desirable results, and such operations must be executed in the specific order or sequential order shown, or all illustrated operations must be executed. It should not be understood as something that must be done. In certain cases, multitasking and parallel processing may be advantageous. Additionally, the separation of the various system components of the embodiments described above should not be construed as requiring such separation in all embodiments, and the program components and systems described are generally integrated together into a single software product or integrated into multiple software products. It should be understood that it can be packaged.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions. These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions. These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s). Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer and can be processed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative execution examples it is possible for the functions mentioned in the blocks to occur out of order. For example, it is possible for two blocks shown in succession to be performed substantially at the same time, or it is possible for the blocks to be performed in reverse order depending on the corresponding function.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.At this time, the term '~unit' used in this embodiment refers to software or hardware components such as FPGA or ASIC, and the '~unit' performs certain roles. However, '~part' is not limited to software or hardware. The '~ part' may be configured to reside in an addressable storage medium and may be configured to reproduce on one or more processors. Therefore, as an example, '~ part' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or may be further separated into additional components and 'parts'. Additionally, components and 'parts' may be implemented to regenerate one or more CPUs within a device or a secure multimedia card.
본 명세서의 일 실시 예에 따른 단말은 휴대폰, PDA(Personal Digital Assistant), 네비게이션(navigation), 디지털 방송 수신기, PMP(Portable Multimedia Player) 등과 같은 휴대용 전자기기 장치 중 일부를 포함할 수 있다.A terminal according to an embodiment of the present specification may include some of portable electronic devices such as a mobile phone, personal digital assistant (PDA), navigation, digital broadcast receiver, portable multimedia player (PMP), etc.
본 명세서가 속하는 기술분야의 통상의 지식을 가진 자는 본 명세서가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 명세서의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 명세서의 범위에 포함되는 것으로 해석되어야 한다.A person skilled in the art to which this specification pertains will understand that this specification can be implemented in other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. The scope of the present specification is indicated by the scope of the claims described later rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present specification. must be interpreted.
한편, 본 명세서와 도면에는 본 명세서의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 명세서의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 명세서의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 명세서의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 명세서가 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.Meanwhile, the specification and drawings disclose preferred embodiments of the present specification, and although specific terms are used, they are used only in a general sense to easily explain the technical content of the present specification and aid understanding of the invention. It is not intended to limit the scope of the specification. In addition to the embodiments disclosed herein, it is obvious to those skilled in the art that other modifications based on the technical idea of the present specification can be implemented.
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 본 발명을 제한하려는 의도가 아니다. 따라서, 이상에서 기술한 실시 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다. As such, this specification is not intended to limit the invention to the specific terms presented. Accordingly, although the present invention has been described in detail with reference to the embodiments described above, those skilled in the art can make modifications, changes, and modifications to the embodiments without departing from the scope of the present invention. Transformations can be made.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described later rather than the detailed description above, and the meaning and scope of the claims and all changes or modified forms derived from the equivalent concept are interpreted to be included in the scope of rights of the present invention. It has to be.
110: 식별값 저장부
120: 식별값 생성부
130: 광고 요청부
140: 식별값 송수신부
150: 식별값 비교부110: identification value storage unit
120: Identification value generation unit
130: Advertisement request unit
140: Identification value transmitting and receiving unit
150: Identification value comparison unit
Claims (12)
(a) 제1 어플리케이션을 활성화하는 단계;
(b) 상기 제1 어플리케이션에 구비된 소프트웨어 개발 키트를 통해 상기 제1 어플리케이션에 저장된 식별값을 검색하는 단계;
상기 제1 어플리케이션에 저장된 식별값이 없는 경우,
(b-1) 상기 제1 어플리케이션에 구비된 소프트웨어 개발 키트를 통해 새로운 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 단계;
(b-2) 상기 제1 어플리케이션에 구비된 소프트웨어 개발 키트를 통해 제2 어플리케이션에 상기 새로운 식별값을 송신하여, 더 오래 전에 생성된 식별값이 있는지 질의하는 단계; 및
(b-3) 상기 제2 어플리케이션에 구비된 소프트웨어 개발 키트를 통해 상기 타임스탬프를 기초로 판단한 더 오래된 식별값이 상기 제2 어플리케이션으로부터 상기 제1 어플리케이션에 수신되어 상기 제1 어플리케이션에 저장되도록 하여 상기 단말 내 모든 어플리케이션에 동일한 식별값이 저장되도록 하는 단계;
(c) 상기 제1 어플리케이션에 구비된 소프트웨어 개발 키트를 통해 상기 제1 어플리케이션에 저장된 식별값을 광고 서버에 송신하여 광고를 요청하는 단계;
를 포함하는 소프트웨어 개발 키트를 이용한 단말의 사용자 식별값 관리 방법.
In a method for a terminal to manage a user identification value through a software development kit provided in each of a plurality of applications in the terminal,
(a) activating the first application;
(b) retrieving the identification value stored in the first application through a software development kit provided in the first application;
If there is no identification value stored in the first application,
(b-1) generating a new identification value by matching it with a timestamp through a software development kit provided in the first application;
(b-2) transmitting the new identification value to a second application through a software development kit provided in the first application, and querying whether there is an identification value created earlier; and
(b-3) An older identification value determined based on the timestamp is received from the second application to the first application through a software development kit provided in the second application and stored in the first application. ensuring that the same identification value is stored in all applications within the terminal;
(c) requesting an advertisement by transmitting an identification value stored in the first application to an advertisement server through a software development kit provided in the first application;
A method of managing user identification values of a terminal using a software development kit including.
상기 (b-3) 단계는,
상기 제2 어플리케이션에 구비된 소프트웨어 개발 키트를 통해 상기 제1 어플리케이션으로부터 수신한 식별값과 상기 제2 어플리케이션에 저장된 식별값을 타임스탬프를 기초로 비교하여 더 오래 전에 생성된 식별값을 선별하는 단계; 및
상기 제2 어플리케이션에 구비된 소프트웨어 개발 키트를 통해 더 오래된 타임스탬프와 매칭된 식별값을 저장하고, 상기 제1 어플리케이션에 송신하는 단계;
를 더 포함하는 것을 특징으로 하는 소프트웨어 개발 키트를 이용한 단말의 사용자 식별값 관리 방법.
According to paragraph 1,
In step (b-3),
Comparing an identification value received from the first application through a software development kit provided in the second application and an identification value stored in the second application based on a timestamp to select an identification value created earlier; and
storing an identification value matched with an older timestamp through a software development kit provided in the second application and transmitting it to the first application;
A method for managing user identification values of a terminal using a software development kit, further comprising:
어플리케이션에 구비되어 식별값을 저장하는 식별값 저장부;
상기 식별값 저장부에 저장된 식별값이 없는 경우, 상기 단말을 특정하는 식별값을 타임스탬프(timestamp)와 매칭하여 생성하는 식별값 생성부;
상기 생성된 식별값을 다른 어플리케이션에 송신하고, 상기 다른 어플리케이션의 식별값 비교부로부터 상기 타임스탬프를 기초로 선별된 더 오래전에 생성된 식별값을 수신하여 상기 식별값 저장부에 저장시키는 식별값 송수신부;
다른 어플리케이션으로부터 새로운 식별값을 수신한 경우, 상기 새로운 식별값과 상기 식별값 저장부에 저장된 식별값을 상기 타임스탬프를 기초로 비교하여 더 오래전에 생성된 식별값을 선별하여 상기 다른 어플리케이션에 재송신하는 식별값 비교부; 및
상기 식별값 저장부에 저장된 식별값을 광고 서버에 송신하여 광고를 요청하는 광고 요청부;
를 포함하는 소프트웨어 개발 키트를 실행하는 것을 특징으로 하는 단말.In a terminal running a software development kit (SDK) provided for each application in the terminal,
An identification value storage unit provided in the application to store an identification value;
If there is no identification value stored in the identification value storage unit, an identification value generator that generates an identification value specifying the terminal by matching a timestamp;
Transmitting the generated identification value to another application, receiving an identification value generated earlier, selected based on the timestamp, from the identification value comparison unit of the other application, and storing the identification value in the identification value storage unit. wealth;
When a new identification value is received from another application, the new identification value and the identification value stored in the identification value storage are compared based on the timestamp to select identification values created earlier and retransmit them to the other application. Identification value comparison unit; and
an advertisement request unit that requests an advertisement by transmitting the identification value stored in the identification value storage unit to an advertisement server;
A terminal characterized in that it executes a software development kit including.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150181831A KR102593605B1 (en) | 2015-12-18 | 2015-12-18 | Method For Managing User Identifier And Software Development Kit Including The Same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150181831A KR102593605B1 (en) | 2015-12-18 | 2015-12-18 | Method For Managing User Identifier And Software Development Kit Including The Same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170073205A KR20170073205A (en) | 2017-06-28 |
KR102593605B1 true KR102593605B1 (en) | 2023-10-25 |
Family
ID=59280608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150181831A KR102593605B1 (en) | 2015-12-18 | 2015-12-18 | Method For Managing User Identifier And Software Development Kit Including The Same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102593605B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101547194B1 (en) | 2014-11-25 | 2015-08-26 | 주식회사 메조미디어 | Method and application for managing cookie-information |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152674B2 (en) * | 2012-04-27 | 2015-10-06 | Quixey, Inc. | Performing application searches |
US20140149223A1 (en) * | 2012-11-29 | 2014-05-29 | Nipun Mathur | Targeted Advertisements In Mobile Applications |
KR102111574B1 (en) * | 2013-11-28 | 2020-05-15 | 에스케이플래닛 주식회사 | Method for generating identification with application, apparatus and system for the same |
KR20150106037A (en) | 2014-03-10 | 2015-09-21 | 한국전자통신연구원 | Method for providing location based service by using service object identifier and apparatus for the same |
-
2015
- 2015-12-18 KR KR1020150181831A patent/KR102593605B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101547194B1 (en) | 2014-11-25 | 2015-08-26 | 주식회사 메조미디어 | Method and application for managing cookie-information |
Also Published As
Publication number | Publication date |
---|---|
KR20170073205A (en) | 2017-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11921807B2 (en) | Redirection service profiling | |
US10909552B2 (en) | Mobile application analytics framework | |
US10338898B2 (en) | State-specific external functionality for software developers | |
US11151607B2 (en) | Blockchain-enabled targeted content system | |
US10031725B2 (en) | Entity-based external functionality for software developers | |
US9742661B2 (en) | Uniform resource locator mapping and routing system and method | |
Gibler et al. | Adrob: Examining the landscape and impact of android application plagiarism | |
US20160132199A1 (en) | Targeted presentation and delivery of themes | |
CN110069661B (en) | Linking content files | |
US20170186038A1 (en) | Providing Advertisements based on Contextual Data | |
US20160085516A1 (en) | Dynamic Entity Inference for Developer Integration of Entity-Based External Functionality | |
US10089652B2 (en) | Generating advertisements for search results that reference software applications | |
KR20080099306A (en) | System for serving advertisements over mobile devices | |
KR102674625B1 (en) | System and method for providing retargetting advertisement | |
US20160055256A1 (en) | Systems and methods for directing access to products and services | |
CN107924413B (en) | Bifurcation searching | |
JP2012521044A (en) | Client-centric usage classification | |
KR20200011443A (en) | Matching and Attributes of User Device Events | |
US20160253711A1 (en) | Methods and systems for network terminal identification | |
US9652515B1 (en) | Application search results based on a current search query and a previous search query | |
KR20180048011A (en) | System and method for providing customer matching service | |
US20140108939A1 (en) | Method and apparatus for managing online content collections using a single programming tool | |
US9043333B1 (en) | Systems and methods for directing access to products and services | |
US20100257035A1 (en) | Embedded content brokering and advertisement selection delegation | |
US20150193809A1 (en) | Do Not Track / Advertise Functionality Based on User Identification Association |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |