KR101945453B1 - 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법 - Google Patents

모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법 Download PDF

Info

Publication number
KR101945453B1
KR101945453B1 KR1020170069744A KR20170069744A KR101945453B1 KR 101945453 B1 KR101945453 B1 KR 101945453B1 KR 1020170069744 A KR1020170069744 A KR 1020170069744A KR 20170069744 A KR20170069744 A KR 20170069744A KR 101945453 B1 KR101945453 B1 KR 101945453B1
Authority
KR
South Korea
Prior art keywords
application
telephone number
call
phone
telephone
Prior art date
Application number
KR1020170069744A
Other languages
English (en)
Other versions
KR20180133150A (ko
Inventor
신수한
김지환
Original Assignee
주식회사 티피코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 티피코리아 filed Critical 주식회사 티피코리아
Priority to KR1020170069744A priority Critical patent/KR101945453B1/ko
Publication of KR20180133150A publication Critical patent/KR20180133150A/ko
Application granted granted Critical
Publication of KR101945453B1 publication Critical patent/KR101945453B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72522
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법이 개시된다. 본 발명의 일 측면에 따르면, 제1 애플리케이션이, 제3 애플리케이션로부터 전화번호를 수신한 제2 애플리케이션으로부터 모바일 단말기의 통화에 관한 상태값 및 상기 전화번호를 수신하는 단계; 상기 전화번호가 유효한 전화번호인지 판단하는 단계; 및 상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상의 배너 디스플레이를 제어하는 단계를 포함하되, 상기 제2 애플리케이션은 모바일 단말기에 전화 기능을 수행하기 위해 기본으로 설치된 것이고, 상기 제3 애플리케이션은 사용자로부터 전화번호를 입력받는 것일 수 있다.

Description

모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법 {Method for checking the status of phone application on mobile device }
본 발명은 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법에 관한 것이다. 더욱 상세하게, 본 발명은 단말기 사용자의 리워드 포인트를 부여하는 방법에 관한 것으로, 모바일 단말기를 사용하는 사용자에게 애플리케이션을 사용하는 데 따른 포인트를 부여하는 방법에 관한 것이다.
개인이 단말기를 사용하는 행위를 추적하여 그에 따른 인센티브를 부여하는 다양한 방식이 존재한다. 예를 들어, 사용자가 스마트폰 내 특정 애플리케이션을 이용하여 특정 가게에 전화를 걸어 통화가 이루어지는 경우, 사용자가 특정 애플리케이션을 사용한 대가로 특정 애플리케이션 운영자는 사용자에게 리워드(reward)를 지급할 수 있다. 일반적으로 이런 특정 애플리케이션은 광고 애플리케이션이 될 수 있으며, 사용자가 광고 애플리케이션을 많이 이용하면 이용할수록 광고 애플리케이션 운영자는 포인트 등 리워드를 지급하는 것이다. 이때 사용자가 실제 특정 애플리케이션을 이용하였는지를 확인하는 것이 중요하다.
한편, 종래의 인터넷 쇼핑 등에서 포인트 등 리워드를 사용자에게 지급 방식에 대해서 검토한다. 인터넷 쇼핑몰에서 사용자가 특정 물건, 서적을 구매한 경우를 예로 들어 본다. 사용자는 포털사이트 등에서 구매하고자 하는 서적을 검색하고, 포털사이트에서 리스트업된 서적의 판매처에 대한 링크 중 하나를 클릭한다. 이후 사용자는 특정 판매처, 온라인 서점으로 이동하게 되며, 최종적으로 서적 구매결정을 내리고 결재를 하게 되면, 온라인 서점은 사용자에게 포인트를 지급하는 것이 일반적이다. 경우에 따라 포털사이트도 사용자에게 일부 포인트를 지급하기도 한다. 이와 같이 종래의 인터넷 쇼핑몰의 경우, 사용자가 실제 구매를 하는 경우, 혹은 실제 구매하여 최종적으로 구매 확정 버튼을 누르는 경우에 한하여 구매에 대한 대가로 소정의 포인트를 지급한다.
그러나 이러한 종래의 인터넷 쇼핑몰의 리워드 지급 방식은 스마트폰으로 대변되는 모바일 인터넷 시대에 완벽히 부합하지 못는다. 구체적으로, 모바일 인터넷 시대를 대표하는 단말기인 스마트폰은, 종래와 같이 내장된 인터넷 브라우저를 통해 쇼핑하는데 사용되기도 하나, 전화기능이 포함되어 있기 때문에 주로 가게 등에 전화기능을 이용하여 주문한다. 그러나 이런 전화를 통한 주문이 발생하였음을 정확히 판단하는 솔루션 혹은 애플리케이션이 존재하지 않는다. 더욱 구체적으로, 스마트폰 앱에서 특정 가게를 서치한 후 디스플레이 화면에서 가게의 전화번호를 누르는 경우(click to call), 전화를 걸기 위해 상기 스마트폰 앱은 스마트폰에 내장된 네이티브 콜링 앱(navtive calling app)을 재차 호출한다. 그러나 종래의 스마트폰 앱은 네이티브 콜링 앱이 호출되어 실제 통화가 이루어졌는지 판단하지 못하며, 그로 인해 전화로 연결된 경우 리워드를 지급할 수 없는 문제점이 존재한다.
또한, 종래에는 사용자가 포인트 부여 앱을 사용하는 경우 외에 모바일 단말기 사용자가 직접 설치할 수 있는 전화 애플리케이션을 이용하여 전화를 건 경우에는 포인트를 부여할 수 없는 문제점이 있었다. 즉, 전화 애플리케이션에 대한 동작을 정확히 측정하지 못하여 이에 대한 후속 액션을 처리하지 못했다.
본 발명의 배경기술은 대한민국 공개특허공보 제10-2012-0050941호(2012.03.30 공개)에 개시되어 있다. 그러나 이런 배경기술도 단순히 종료시도 감지부를 언급하며 OS가 통화 종료를 감지하는 것으로 개시하고 있을 뿐이지 정확히 어떻게 통화가 확립되어 종료되었는지 감지하여 그에 따라 포인트를 지급하는 것에 대한 구체적인 방법을 개시한 바가 없다.
대한민국 공개특허공보 제10-2012-0050941호(2012.03.30 공개)
본 발명의 목적은 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, 제1 애플리케이션이, 제3 애플리케이션로부터 전화번호를 수신한 제2 애플리케이션으로부터 모바일 단말기의 통화에 관한 상태값 및 상기 전화번호를 수신하는 단계; 상기 전화번호가 유효한 전화번호인지 판단하는 단계; 및 상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상의 배너 디스플레이를 제어하는 단계를 포함하되, 상기 제2 애플리케이션은 모바일 단말기에 전화 기능을 수행하기 위해 기본으로 설치된 것이고, 상기 제3 애플리케이션은 사용자로부터 전화번호를 입력받는 것일 수 있다.
또한, 상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상에 배너를 디스플레이하도록 제어하는 단계이전에, 전화를 걸기 위해 상기 제1 애플리케이션으로부터 상기 제2 애플리케이션이 호출되었는지 판단하는 단계를 포함하고, 상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상의 배너 디스플레이를 제어하는 단계는, 상기 전화번호가 유효한 전화번호이고, 전화를 걸기 위해 상기 제1 애플리케이션으로부터 상기 제2 애플리케이션이 호출되는 경우, 상기 제3 애플리케이션 상에 배너를 디스플레이되지 않도록 제어하는 단계일 수 있다.
또한, 상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상의 배너 디스플레이를 제어하는 단계는, 상기 전화번호가 유효한 전화번호이고, 전화를 걸기 위해 상기 제3 애플리케이션으로부터 상기 제2 애플리케이션이 호출되는 경우, 상기 제3 애플리케이션 상에 배너를 디스플레이하도록 제어하는 단계일 수 있다.
본 발명의 다른 측면에 따르면, 제1 애플리케이션이, 제3 애플리케이션로부터 제1 전화번호를 수신한 제2 애플리케이션으로부터 모바일 단말기의 통화에 관한 제1 상태값 및 상기 제1 전화번호를 수신하는 단계; 상기 제1 전화번호를 전역변수로 저장하는 단계; 상기 제1 전화번호가 유효한 전화번호인지 판단하는 단계; 상기 제3 애플리케이션으로부터 통화에 관한 제3 상태값 및 제3 전화번호를 수신하는 단계; 및 상기 제3 전화번호를 제1 애플리케이션 내의 지역변수로 저장하는 단계; 상기 제1 전화번호와 상기 제3 전화번호가 동일한지 판단하는 단계;를 포함하되, 상기 제2 애플리케이션은 모바일 단말기에 전화 기능을 위해 기본으로 설치된 것이고, 상기 제3 애플리케이션은 사용자로부터 전화번호를 입력받는 것이고, 상기 제1 상태값은 통화연결 시작(OFFHOOK)이고, 상기 제3 상태값은 통화종료(IDLE)인 것일 수 있다.
또한, 상기 제1 전화번호와 상기 제3 전화번호가 동일한 경우, 통화시간이 소정의 시간 이상인지 판단하는 단계; 및 통화시간이 소정의 시간 이상인 경우, 사용자의 리워드 포인트를 적립하고, 상기 전역변수를 초기화 하는 단계를 더 포함할 수 있다.
또한, 상기 제1 애플리케이션을 모바일 단말기에 디스플레이하고 상기 제3 전화번화와 연관된 표시를 디스플레이하는 것일 수 있다.
또한, 통화시간이 소정의 시간 이상인 경우, 사용자의 리워드 포인트를 적립하고, 상기 전역변수를 초기화 하는 단계는, 상기 통화 시간의 길이에 따라 포인트 크기를 차등화하는 것일 수 있다.
본 발명의 다른 측면에 따르면, 상기 방법에 포함된 단계를 실행시키는 컴퓨터 판독가능 매체에 저장된 컴퓨터프로그램일 수 있다.
본 발명의 실시예에 따르면 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법을 제공할 수 있다.
도 1 내지 5는 본 발명의 실시예들에 따른 동작의 순서도들이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명에 따른 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 이하 사용되는 제1, 제2 등과 같은 용어는 동일 또는 상응하는 구성 요소들을 구별하기 위한 식별 기호에 불과하며, 동일 또는 상응하는 구성 요소들이 제1, 제2 등의 용어에 의하여 한정되는 것은 아니다.
또한, 결합이라 함은, 각 구성 요소 간의 접촉 관계에 있어, 각 구성 요소 간에 물리적으로 직접 접촉되는 경우만을 뜻하는 것이 아니라, 다른 구성이 각 구성 요소 사이에 개재되어, 그 다른 구성에 구성 요소가 각각 접촉되어 있는 경우까지 포괄하는 개념으로 사용하도록 한다.
또한, 컴퓨터 프로그램과 관련하여, 구성요소에 대한 접미사 "모듈" 및/또는 "부"는 컴퓨터를 특정 기능의 수단으로 기능시키기 위한 컴퓨터 프로그램의 일부이거나, 컴퓨터에서 특정 기능을 실현시키기 위한 컴퓨터 프로그램의 일부일 수 있다. 예를 들어, 모듈 A는 컴퓨터를 수단 A로 기능시키기 위한 컴퓨터 프로그램 또는 컴퓨터에 기능 A를 실현시키기 위한 컴퓨터 프로그램으로 해석될 수 있다. 방법으로서 "단계"는 컴퓨터에 컴퓨터 프로그램으로 구현되어 실행될 수 있다. 또한, "모듈" 및/또는 "부"가 모여 "군"을 이룰 수 있다.
한편, 애플리케이션(Application)이란 특정한 업무를 수행하기 위해 고안된 일련의 컴퓨터 프로그램의 집합을 가리키는 것으로, 응용프로그램이라고도 한다. 사용자는 본 발명의 실시예에 따른 애플리케이션을 자신의 전자기기에 인스톨하는 것으로 관련 기능을 추가할 수 있다.
애플리케이션이 인스톨되는 사용자의 전자기기란 컴퓨터, 태블릿PC, 스마트폰과 같이 CPU, RAM, ROM, 저장장치 등으로 구성되고, Windows, ios, 안드로이드, 리눅스 등의 그래픽 운영체제로 전체 시스템이 제어되는 환경인 것이 바람직하며, 특히 등록된 연락처로 전화 및 문자를 주고받을 수 있는 스마트폰에 특화되었다.
또한, 본 명세서에 첨부된 도면의 순서도는 발명을 설명하기 위한 순서도에 불과하며, 컴퓨터 상에 버그 없이 완벽히 구현되기 위한 순서도일 필요는 없다.
또한, 본 명세서에서 언급된 단말기는 일반적인 사용자 단말기로서 스마트폰, 퍼스널 컴퓨터, 태블릿 PC 등이 될 수 있다.
스마트폰 등 모바일 단말기에서는, 운용되는 운영체제(Operating System) 따라 전화걸기를 수행하는 애플리케이션(이하 네이티브 콜링 앱)과 관련된 동작이 상이하다. 예를 들어, 안드로이드 계열의 운영체제의 경우 ISO 계열의 운영체제와 달리, 브로드캐스트 메신저(Broadcast Messenger)가 별도로 존재하는데, 이 브로드캐스트 메신저는 전화를 걸어서 상대방이 전화를 받은 경우 혹은 전화를 받지 않는 경우 혹은 전화가 걸려와서 벨이 울려서 받은 경우 혹은 받지 않거나 못한 경우 혹은 전화통화가 이루어지고 종료되는 경우 혹은 통화가 이루어진 경우 통화의 시간 등 여러 가지 전화와 관련된 상태 정보를 안드로이드 운영체제 상의 여러 다른 애플리케이션(이하 앱)들에게 알려줄 수 있다. 그러나 안드로이드 운영체제하에서는, 브로드캐스트 메신저가 여러 다른 앱들에게 전화가 종료되는 정도의 상태 정보만을 알려줄 뿐이며 구체적인 전화 연결 정보 등 그 밖의 구체적인 상태정보를 알려주지 않는다. 예를 들어, 브로드캐스트 메신저는 걸거나 걸려온 전화번호, 전화통화 시간 등의 정보에 대해서는 타 앱에 알려주지 않는다. 이에 반해, 네이티브 콜링 앱의 경우, 브로드캐스트 메신저를 통해 전화통화 시간, 전화번호 등의 모든 정보에 실시간으로 접근할 수 잇는 차이점이 있다.
한편, 안드로이드는 쉐어드 프리퍼런스(shared preferences)와 같은 저장공간을 제공하는데, 상기 쉐어드 프리퍼런스에는 개발자가 정하는 정보를 임시적으로 저장할 수 있다. 예를 들어, 쉐어드 프리퍼런스에는 포인트를 지급하는 앱이 네이티브 콜링 앱을 호출할 때 참조한 전화번호 등의 정보가 저장될 수 있다.
한편, 네이티브 콜링 앱에는 네이티브 콜링 앱 전용의 데이터베이스가 존재할 수 있다. 상기 데이터베이스는 전화에 대한 모든 상태기록이 저장될 수 있다. 상기 데이터베이스는 테이블 형태를 가질 수 있으며, 상태기록 정보들이 순차적으로 저장될 수 있다. 또한, 상기 데이터베이스에는 전화가 종료될 때 그 통화에 대한 상태기록이 저장될 수 있다. 예를 들어서, 사용자가 전화를 시도하였으나 상대방이 전화를 안받았은 경우, 사용자가 전화 종료 버튼을 누르면 그 순간 특정 시각에 본 모바일 단말기로부터 특정인에게 전화를 걸었으나 상대방이 전화를 받지 않았다는 정보가 상기 데이터베이스에 기록될 수 있다. 또한, 본 모바일 단말기로에게 전화가 걸려온 경우, 특정 시각에 특정인으로부터 전화가 걸려왔으며, 통화가 연결되고, 몇 초간 전화를 하였다는 정보가 데이터베이스에 기록될 수 있다.
한편, 모바일 단말기의 상태 및 운영체제 따라 모바일 단말기의 메모리 등 저장공간에 데이터를 기록하는 속도의 차이가 존재할 수 있다.
본 발명은 이러한 사항들을 고려하여 스마트폰 상의 네이티브 콜링 앱이 아닌 일반 콜링 앱에서 전화를 거는 경우, 이러한 스마트폰의 상태를 인지하여 상기 일반 콜링 앱에 광고 배너 등 이벤트를 생성하기 위한 것을 목표로 한다. 아울러, 본 발명은 일반 콜링 앱을 사용하는 경우에도, 앱 사용에 따른 정확한 포인트 지급하는 것을 목표로 한다.
도 1은 본 발명의 일 실시예에 따른 동작 순서도이다. 본 발명에 따르면, 제1 애플리케이션이, 제2 애플리케이션로부터 전화번호를 수신한 제3 애플리케이션으로부터 모바일 단말기의 통화에 관한 상태값 및 상기 전화번호를 수신하는 단계; 상기 전화번호가 유효한 전화번호인지 판단하는 단계; 및 상기 전화번호가 유효한 전화번호인 경우, 상기 제2 애플리케이션 상에 배너를 디스플레이하도록 제어하는 단계를 포함하되, 상기 제3 애플리케이션은 모바일 단말기에 전화 기능을 수행하기 위해 기본으로 설치된 것이고, 상기 제2 애플리케이션은 사용자로부터 전화번호를 입력받는 것일 수 있다.
더욱 상세하게, 제1 애플리케이션은 사용자 리워드 포인트를 지급하는 애플리케이션이 될 수 있다. 일반적인 애플리케이션으로 모바일 단말기의 전화 애플리케이션에 대한 상태를 파악하여 특정 이벤트를 처리해 주는 애플리케이션이면 족하다. 다음으로 제2 애플리케이션은 앞서 설명한 바와 같은 네이티브 콜링 애플리케이션이 될 수 있다. 네이티브 콜링 애플리케이션은 모바일 단말기 제작시 모바일 단말기에 전화 기능 수행을 위해 기본적으로 설치된 애플리케이션이다. 마지막으로 제3 애플리케이션은 사용자로부터 전화번호를 입력받아 전화 기능을 수행하지만, 실질적인 전화 기능은 상기 제2 애플리케이션인 네이티브 콜링 애플리케이션의 기능을 차용하여 전화 기능을 수행하는 애플리케이션이다. 즉, 단말기 사용자가 직접 설치할 수 있는 전화 애플리케이션이다. 예컨대, 안드로이드 계열의 운영체제하에, Sk텔레콤의 T-전화기, 다음카카오의 카카오헬로 혹은 KT CS의 후후 등 전화 기능을 수행하는 애플리케이션이 될 수 있다. 제1 애플리케이션 역시 제3 애플리케이션과 마찬가지로 전화 기능을 수행할 수 있다. 한편, 제1 애플리케이션은 기능적으로 브로드캐스트 메신저 클래스를 상속받아 브로드케스트를 수신(receive)할 수 있다. 또한, 제1 애플리케이션은 전화번호 등 다양한 데이터를 저장할 수 있는 제1 애플리케이션만을 위한 저장공간을 확보하고 있다. 즉, 제1 애플리케이션을 제작할 때 필요한 메모리 공간을 할당받을 수 있는 것이다.
상기 동작 과정을 예를 들어 구체적으로 설명하면, 제3 애플리케이션인 T 전화기가 스마트폰 화면상에 디스플레이 되고, 사용자로부터 전화번호를 입력받은 후 송출 버튼이 눌려진다(S310). 이후 제2 애플리케이션인 네이티브 콜링 애플리케이션이, 제3 애플리케이션로부터 전화번호를 수신하여 전화를 시도한다(S210). 이때 네이티브 콜링 애플리케이션인 제2 애플리케이션은 현재 상태값을 제1 애플리케이션에 지속적으로 전달한다. 즉, 네이티브 콜링 애플리케이션은 전화에 대한 상태를 지속적으로 브로드캐스팅한다. 이때 전달하는 상태 값은 전화 대기중 혹은 통화종료 혹은 통화시도(IDLE), 벨울림(RINGING), 통화연결 시작(OFFHOOK)이 될 수 있다. 설명한 바와 같이, 제1 애플리케이션은 브로드케스트 메신저를 상속하였으므로 현재 전화 상태값이 지속적을 수신할 수 있다. 여기서(S210)는 통화시도의 상태값이 전달된다. 이후 제1 애플리케이션은 전달받은 상태값과 전화번호를 임시 저장하고(S110), 전달받은 전화번호가 유효한 전화번호인지 판단한다(S130). 유효한 전화번호란 전화가 걸릴 수 있는 전화번호를 지칭한다. 예를 들어, 전화번호 중간에 * 이나 # 등과 같은 기호가 포함되어 있는 경우, 유효한 전화번호가 아니라고 판단하여 종료한다. 전화번호 유효여부는 널리 알려진 일반적인 루틴을 통해 판단할 수 있다. 만약 전화번호가 걸릴 수 있는 유효한 전화번호라고 판단되는 경우, 제1 애플리케이션은 제3 애플리케이션을 제어하고, 제3 애플리케이션은 최초 사용자가 전화를 걸기 위해 사용한 제3 애플리케이션 전화기 디스플레이 상에 배너를 출력한다(S330).
이를 통해 사용자는 제1 애플리케이션을 직접적으로 사용하지 않았음에도 제3 애플리케이션 상에 제1 애플리케이션에 대한 출력을 수행할 수 있다. 상기 출력은 감사 메시지가 될 수도 있고, 혹은, 전화 번화와 관련된 광고가 될 수 있다. 또한, 본 발명은 사용자가 제1 애플리케이션이 아닌 제3 애플리케이션을 통해 전화를 걸더라도 전화 걸림을 알 수 있는 효과를 발휘할 수 있다.
또한, 전화번호가 유효한지 여부는 제1 애플리케이션의 연락처 리스트 혹은 모바일 단말기 내 기본 연락처 리스트 데이터베이스 상에 연락처와 비교하여 판단할 수 있다. 또한, 상기 배너는 제1 애플리케이션의 연락처 리스트를 참조하여 관련된 내용을 포함하도록 제어할 수 있다. 예를 들어, 제3 애플리케이션인 T 전화기를 통해 02-123-4567이라는 전화번호를 갖는 중화요리식당에 전화를 거는 경우, 상기 전화번호가 저장된 제1 애플리케이션의 연락처 리스트와 이에 관련된 내용을 참조하여, '요일 메뉴 50% 할인'과 같은 배너를 T 전화기 상에 출력할 수 있다.
도 2는 본 발명의 일 실시예에 따른 동작 순서도이다. 도 1과 중복되는 내용을 제외하고 설명한다. 도 2를 참조하면, 제1 애플리케이션은 제3 애플리케이션 상에 배너를 출력할지 여부를 결정하는 단계(S150)를 더 포함한다. 더욱 구체적으로, 제1 애플리케이션은 제2 애플리케이션인 네이티브 콜링 애플리케이션 및 자신인 제1 애플리케이션이 아닌 제3 애플리케이션으로부터 전화 걸기가 요청되는 경우에 한하여 제3 애플리케이션 상에 배너를 출력하도록 제어한다. 제1 애플리케이션으로 전화를 거는 경우에는 굳이 광고 등을 위한 배너를 출력할 필요하지 않을 수 있기 때문이다. 기본적으로 제3 애플리케이션 상의 배너 출력에 대한 파라미터는 on으로 설정하여 배너가 출력되게 한다. 그리고 제1 애플리케이션에서 전화 걸기가 요청되는 경우, 배너 출력에 대한 파라미터 값을 off로 전달하여 배너가 출력되지 않도록 한다. 이후 제1 애플리케이션에서 전화 걸기가 종료된 경우, 다시 배너 출력에 대한 파라미터 값을 on으로 설정하여, 향후에 제3 애플리케이션으로부터 전화 걸기가 요청되는 경우에는 배너가 출력될 수 있도록 한다.
도 3은 본 발명의 일 실시에예 따른 동작 순서도이다. 도1 및 2와 중복된 내용을 제외하고 설명한다. 도 3을 참조하면, 제1 애플리케이션은 제2 애플리케이션으로부터 통화 시도라는 상태를 전달받을 때, 전역변수 상에 전화번호를 전한다. 이후, 제1 애플리케이션은 제2 애플리케이션으로부터 통화종료에 대한 상태값을 전달받는다(S160). 이때, 전화번호 값도 같이 전달받는다. 이후 소정의 시간을 기다린 후 이 값을 제1 애플리케이션이 확보하고 있는 메모리 공간에 저장한다. 한편, 제2 애플리케이션 혹은 제3 애플리케이션에서 통화가 종료된 후에 제1 애플리케이션이 확보하고 있는 공간인 관련 데이터베이스나 메모리에 통화 관련 정보의 저장이 완료되도록 전화번호 비교에 앞서 의도적인 지연 혹은 딜레이를 둘 수 있다. 이러한 의도적인 딜레이를 둔 후에 비로소 포인트부여 앱과 같은 제1 애플리케이션은 전화번호들을 비교한다. 이러한 의도적인 딜레이를 통하여 제2 혹은 제3 애플리케이션에서 통화가 종료되어 통화 관련 정보의 저장이 완료된 후에 제1 애플리케이션인 포인트부여 앱이 비교를 수행하는 것이다. 전화가 종료된 직후 포인트부여 앱과 같은 제1 애플리케이션에서 네이티브 콜링 앱과 같은 제2 애플리케이션이 관장하는 데이터베이스의 참조하는 경우, 실제 통화가 이루어진 전화번호가 아닌 그 종전의 전화번호를 참조할 수도 있다. 왜냐하면 브로드케스팅 되는 통화관련 정보 중에는 null 값이나 garbage 값도 존재하기 때문이다. 그러나 이러한 의도적 딜레이를 두어 실제 전화통화가 이루어진 번호가 저장되기를 기다려 본 전화번호를 참조할 수 있는 것이다. 이러한 딜레이 단계를 통해 단말기의 성능, 특히 메모리의 성능 등 여러 가지 영향으로 인해 전화번호 등의 데이터 기록이 늦어서 생길 수 있는 문제를 해결할 수 있다. 실험 결과, 0.3 내지 0.5초의 딜레이를 정도 주는 경우, 스마트폰에서 정확한 전화번호 간의 비교를 수행할 수 있다.
한편, 제1 애플리케이션은 통화시도 상태값을 전달 받을 때, 같이 전달받은 전화번호를 전역변수에 정하고, 통화종료 상태값을 전달받을 때, 전화번호를 제1 애플리케이션이 관장하는 지역 메모리에 저장한 후 전역변수 상의 전화번호와 비교한다(S180). 동일한 경우에 한하여 이벤트를 처리한다(S190). 이벤트는 광고나 포인트 지급 등 다양한 것이 될 수 있으며, 이에 대해서는 후술한다.
한편, 안드로이드 기반에서는 저장공간인 sharedPreferences를 사용하여 전화번호를 저장할 수도 있다. 그러나 sharedPreferences를 사용하는 경우, sharedPreferences에 저장된 데이터를 지속적으로 변경 혹은 제거해 주어야 하며, 별도의 애플리케이션을 사용하여 데이터에 접근하기 때문에 리소스가 제한적인 모바일 단말기 상에서는 처리가 매끄럽지 않을 수 있다. 그러나 sharedPreferences 대신 전역변수를 사용하는 경우, 전역변수로 값을 지정해두고 통화가 종료되어 브로드캐스트가 완전히 종료되는 시점까지만 전역변수에 넣어 두게 되면 더 편리하게 관리할 수 있다. 또한, 전역변수를 사용함으로써 통화 중에 제3 애플리케이션이 아닌 다른 애플리케이션이 실행되어도 이에 영향을 받지 않고 포인트 부여 앱을 실행할 수 있다. 더욱 상세하게, sharedPreferences를 사용하는 경우, 제2 애플리케이션인 네이티브 콜링 앱으로부터 전화 상태에 대한 값을 실시간으로 전달받고 전화가 종료되면 즉시 포인트를 부여하기 위해 포인트 부여 앱인 제1 애플리케이션을 호출해야 한다. 그러나 이 호출 과정에서 여러 가지 외부적인 환경 영향으로 인해 제1 애플리케이션이 제대로 호출되지 않는 경우가 발생하고 이때문에 포인트가 정확히 부여되지 않는 경우가 발생할 수 있다. 그러나 전역변수에 이미 전화번호가 저장되어 있기 때문에 통화가 종료된 즉시가 아닌 통화가 종료된 것만 확인한 후 언제든지 전역변수를 참조할 수 있으므로 포인트 부여가 누락될 여지가 없다.
도 4는 본 발명의 일 실시에예 따른 동작 순서도이다. 도1 내지 3와 중복된 내용을 제외하고 설명한다. 도 4를 참조하면, 제1 애플리케이션은 통화시간이 30초 이상인지 판단한다. 30초 정도의 통화는 대략적으로 의미가 있는 통화라고 가정할 수 있기 때문이다. 물론 30초에 한정되는 것은 아니며 설정자가 임의로 설정할 수 있다. 통화 시간의 측정은 통화 연결 시도 이벤트 발생 시각, 통화 연결 성공 이벤트 발생 시각, 통화 종료 이벤트 발생 시각 간의 차이 등을 연산하여 획득될 수 있다. 더욱 구체적으로 통화 연결 성공 이벤트 발생 시각과 통화 종료 이벤트 발생 시각 간의 차이를 구하여 실제 통화한 시간의 길이를 구할 수 있다. 이를 통하여 실제 제대로된 전화 통화가 이루어졌는지를 판단하여 포인트 부여할 필요가 없는 경우를 생략할 수 있다. 통화시간이 소정의 시간(예: 30초)이상인 경우에는 포인트를 적립하고, 전역변수를 초기화 한다(S193). 이후 포인트 부여 앱과 같은 제1 애플리케이션을 활성화하고 이를 통해 광고를 디스플레이할 수 있다(S195).
도 5는 본 발명의 일 실시에예 따른 동작 순서도이다. 도 5는 앞선 도 1 내지 도 4에서 설명된 내용을 종합적으로 모두 포함한 것이다.
이러한 본 발명을 통해 포인트 부여 앱과 무관한 사용자가 직접 설치된 전화기 애플리케이션을 통해 전화 하더라도 누락됨 없이 포인트를 부여할 수 있다. 또한, 통해 포인트 부여 앱과 무관한 사용자가 직접 설치된 전화기 애플리케이션을 이용하여 전화를 하더라도 상기 전화기 애플리케이션 상에 배너 출력 등 이벤트를 실행할 수 있다.
상술된 방법 및 처리는, 예를 들어, 프로세서, 컨트롤러, 또는 다른 처리 디바이스에 의한 실행을 위한 명령들로서, 인코딩되거나, 컴팩트 디스크 판독 전용 메모리 (CDROM), 자기 또는 광학 디스크, 플래시 메모리, 랜덤 액세스 메모리 (RAM) 또는 판독 전용 메모리 (ROM), 소거가능 프로그램가능 판독 전용 메모리(EPROM) 또는 다른 머신-판독가능 매체와 같은 머신 판독가능 또는 컴퓨터 판독가능 매체에 저장될 수도 있다.
이러한 매체는, 명령 실행가능 시스템, 장치 또는 디바이스에 의해 또는 이와 연결하여 사용하기 위한 실행가능한 명령들을 포함, 저장, 통신, 전파 또는 이동시키는 임의의 디바이스로서 구현될 수도 있다. 대안으로 또는 추가적으로, 하나 이상의 집적 회로, 또는 하나 이상의 프로세서 실행 명령들과 같은 하드웨어를 이용하여 아날로그 또는 디지털 로직으로서; 또는 API (application programming interface) 또는 DLL (Dynamic Link Library), 로컬 또는 원격 절차 호출로서 정의된 또는 공유 메모리에서 이용가능한 기능들의 소프트웨어로; 또는 하드웨어 및 소프트웨어의 조합으로서 구현될 수도 있다.
다른 구현에서, 방법은 신호 또는 전파-신호 매체로 나타내어질 수도 있다. 예를 들어, 임의의 소정의 프로그램의 로직을 구현하는 명령들은 전기, 자기, 광학, 전자기, 적외선 또는 다른 타입의 신호의 형태를 취할 수도 있다. 상술된 시스템은 광섬유 인터페이스, 안테나, 또는 다른 아날로그 또는 디지털 신호 인터페이스와 같은 통신 인터페이스에서 이러한 신호를 수신하고, 그 신호로부터 명령들을 복원하고, 이들을 머신 판독 가능 메모리에 저장하고, 그리고/또는 프로세서를 이용하여 이들을 실행시킬 수도 있다.
또한, 상기 본 발명은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명의 실시예들은 여기에 설명된 방법들 중 하나가 실행되는 프로그램가능 컴퓨터 시스템으로 운영될 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 캐리어 웨이브를 포함할 수 있다. 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램이 컴퓨터 상에서 구동될 때 방법들 중 하나를 실행하기 위하여 운영된다. 프로그램 코드는 예를 들면 기계 판독가능 캐리어 상에 저장될 수 있다. 본 발명의 일실시예는 컴퓨터 프로그램이 컴퓨터 상에 구동될 때, 여기에 설명된 방법들 중 하나를 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램일 수 있다. 본 발명은 위에서 설명한 방법들 중 하나를 실행하기 위한 컴퓨터, 또는 프로그램가능 논리 장치를 포함할 수 있다. 위에서 설명한 방법들의 일부 또는 모든 기능을 실행하기 위하여 프로그램가능 논리 장치(예를 들면, 필드 프로그램가능 게이트 어레이, 상보성 금속 산화물 반도체 기반 논리 회로)가 사용될 수 있다.
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.

Claims (8)

  1. 제1 애플리케이션이,
    제3 애플리케이션로부터 전화번호를 수신한 제2 애플리케이션으로부터 모바일 단말기의 통화에 관한 상태값 및 상기 전화번호를 수신하는 단계;
    상기 전화번호가 유효한 전화번호인지 판단하는 단계;
    전화를 걸기 위해 상기 제1 애플리케이션으로부터 상기 제2 애플리케이션이 호출되었는지 판단하는 단계; 및
    상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상의 배너 디스플레이를 제어하는 단계를 포함하되,
    상기 제2 애플리케이션은 모바일 단말기에 전화 기능을 수행하기 위해 기본으로 설치된 것이고,
    상기 제3 애플리케이션은 사용자로부터 전화번호를 입력받는 것임을 특징으로 하는 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법.
  2. 제1 항에 있어서,
    상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상의 배너 디스플레이를 제어하는 단계는,
    상기 전화번호가 유효한 전화번호이고, 전화를 걸기 위해 상기 제1 애플리케이션으로부터 상기 제2 애플리케이션이 호출되는 경우, 상기 제3 애플리케이션 상에 배너를 디스플레이되지 않도록 제어하는 단계인 것을 특징으로 하는 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법.
  3. 제1 항에 있어서,
    상기 전화번호가 유효한 전화번호인 경우, 상기 제3 애플리케이션 상의 배너 디스플레이를 제어하는 단계는,
    상기 전화번호가 유효한 전화번호이고, 전화를 걸기 위해 상기 제3 애플리케이션으로부터 상기 제2 애플리케이션이 호출되는 경우, 상기 제3 애플리케이션 상에 배너를 디스플레이하도록 제어하는 단계인 것을 특징으로 하는 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법.
  4. 제1 애플리케이션이,
    제3 애플리케이션로부터 제1 전화번호를 수신한 제2 애플리케이션으로부터 모바일 단말기의 통화에 관한 제1 상태값 및 상기 제1 전화번호를 수신하는 단계;
    상기 제1 전화번호를 전역변수로 저장하는 단계;
    상기 제1 전화번호가 유효한 전화번호인지 판단하는 단계;
    상기 제3 애플리케이션으로부터 통화에 관한 제3 상태값 및 제3 전화번호를 수신하는 단계;
    상기 제3 전화번호를 제1 애플리케이션 내의 지역변수로 저장하는 단계;
    상기 제1 전화번호와 상기 제3 전화번호가 동일한지 판단하는 단계;
    상기 제1 전화번호와 상기 제3 전화번호가 동일한 경우, 통화시간이 소정의 시간 이상인지 판단하는 단계; 및
    통화시간이 소정의 시간 이상인 경우, 사용자의 리워드 포인트를 적립하고, 상기 전역변수를 초기화 하는 단계
    를 포함하되,
    상기 제2 애플리케이션은 모바일 단말기에 전화 기능을 위해 기본으로 설치된 것이고,
    상기 제3 애플리케이션은 사용자로부터 전화번호를 입력받는 것이고,
    상기 제1 상태값은 통화연결 시작(OFFHOOK)이고, 상기 제3 상태값은 통화종료(IDLE)인 것임을 특징으로 하는 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법.
  5. 삭제
  6. 제4 항에 있어서,
    상기 제1 애플리케이션을 모바일 단말기에 디스플레이하고 상기 제3 전화번호와 연관된 표시를 디스플레이하는 것을 특징으로 하는 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법.
  7. 제4 항에 있어서,
    통화시간이 소정의 시간 이상인 경우, 사용자의 리워드 포인트를 적립하고, 상기 전역변수를 초기화 하는 단계는,
    상기 통화 시간의 길이에 따라 포인트 크기를 차등화하는 것을 특징으로 하는 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법.
  8. 제1항 내지 제4항, 제6항, 제7항 중 어느 한 항의 방법에 포함된 단계를 실행시키는 컴퓨터 판독가능 매체에 저장된 컴퓨터프로그램.
KR1020170069744A 2017-06-05 2017-06-05 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법 KR101945453B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170069744A KR101945453B1 (ko) 2017-06-05 2017-06-05 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170069744A KR101945453B1 (ko) 2017-06-05 2017-06-05 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법

Publications (2)

Publication Number Publication Date
KR20180133150A KR20180133150A (ko) 2018-12-13
KR101945453B1 true KR101945453B1 (ko) 2019-04-17

Family

ID=64671196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170069744A KR101945453B1 (ko) 2017-06-05 2017-06-05 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법

Country Status (1)

Country Link
KR (1) KR101945453B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810535B (zh) * 2021-06-16 2022-08-30 荣耀终端有限公司 信息处理方法和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120050941A (ko) 2012-03-30 2012-05-21 이운덕 스마트폰 광고 응용 프로그램이 스마트폰에 광고를 사용자가 선택한 시간과 방법으로 노출시킬 때 광고주가 선택한 전화 번호가 표시되며, 사용자가 통화 버튼을 클릭 시 선택한 번호로 연결되는 시스템
KR20140052220A (ko) * 2012-10-23 2014-05-07 윤현정 디스플레이 및 어플리케이션 제어 기술을 이용한 광고 장치 및 그 방법
KR102163237B1 (ko) * 2015-09-01 2020-10-08 에스케이텔레콤 주식회사 어플리케이션 연동을 이용한 통화 상대방 정보 제공 방법, 이를 수행하기 위한 컴퓨터 프로그램 및 그 컴퓨터 프로그램을 기록한 기록 매체

Also Published As

Publication number Publication date
KR20180133150A (ko) 2018-12-13

Similar Documents

Publication Publication Date Title
US9639174B2 (en) Mobile device display content based on shaking the device
CN101248472B (zh) 本地拦截方法,例如提供训练、信息呼叫和诊断的客户帮助的应用程序
US9942690B2 (en) Method and device for information push
CN106547904B (zh) 跨账号信息分享方法及装置
CN107203398B (zh) 应用分发方法及装置
US20160071156A1 (en) Information processing method and device
CN108429671A (zh) 朋友圈中应用的推荐方法、装置及移动终端
CN107193606B (zh) 应用分发方法及装置
CN107193441B (zh) 桌面挂件预览方法及装置
CN108764003B (zh) 图片识别方法及装置
US20180352398A1 (en) Method, Device And User Equipment For Pushing Service Information
CN111667328B (zh) 页面内容展示方法、装置及电子设备
CN112633945B (zh) 落地页投放方法、投放数据处理方法、装置、设备及介质
CN109814801A (zh) 应用登录方法、装置、终端及存储介质
CN111512286A (zh) 编排程序的方法及电子设备
EP2937831A1 (en) Method, device and system for identifying target terminals and method and device for monitoring terminals
CN107423218B (zh) 应用测试方法、装置及终端
CN105183493A (zh) 网络信息的显示方法和装置
CN105094830A (zh) 一种执行目标功能的方法和装置
CN110780963B (zh) 一种内容展示方法、装置及电子设备
CN105976201B (zh) 用于电商系统的购买行为监控方法及装置
KR101945453B1 (ko) 모바일 단말기에서 전화 애플리케이션의 상태를 확인하는 방법
CN107943370A (zh) 广告显示方法、装置及存储介质
CN108984417B (zh) 软件测试方法、装置、终端及存储介质
CN110795354A (zh) 信息处理方法、装置及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant