All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 소개 Version1.0 Authorubivelox Date21-Feb.2011 www.ubivelox.com.

Slides:



Advertisements
Similar presentations
Android Application. 최신버전 안드로이드 SDK 설치 1. SDK 설치 접속.
Advertisements

Term Project Hints Topics Keep-alive CGI Multi-thread Multi-process Event-based.
For Android 이재원.  페이스북 SDK 설치  2 가지 예제 & 소스  API 사용 예제 프로젝트 만들기  Graph API  참고사항 & 사이트.
삼성소프트웨어멤버십 20 th 박희근 ( A n d r o i d.
LGU+ 모바일고객센 터 Magazine LGU + 모바일 CVC Vol 세계 최초, 최고의 고객센터 대표님과 함께한 우수 상담사 대상 사외 교육훈련.
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
LGU + 모바일 CVC Vol 세계 최초, 최고의 고객센터 고객센터 Event “Long~~ Lunch Time” LGU+ 모바일고객센 터 Magazine.
Data : 조원 : 손정일 김태양 Unlocking android chapter.4 Intent&Service.
Python Socket/HTTP overmania. 목표  소켓을 이용하여 기본적인 서버 - 클라이언트 모델을 구현할 수 있다.  간단한 웹서버를 소켓을 이용하여 작성할 수 있다.
제 1 강 : 자료 구조 개요 서울산업기술대학교 게임공학과김태환 C.P MSN/ Penguri Entertainment Co, Ltd. All rights reserved.
사회보험 징수통합 관련 조사 결과 보고서 한국갤럽조사연구소
11장. 프로토콜 핸들러 AI &HC I LAB 김 성 현.
14. 위피 게임: 가위바위보 게임 초기에 점수=0 처음 이기면 10 점 그 다음부터 이기면 점수=현재 점수*2 지면
Java Socket 통신 이개혁 정대준.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C++ Espresso 제1장 기초 사항.
Understanding of Socket and File I/O
01. 강사 소개 강사 신지식인 선정 한국음식업 중앙회 전남지회 정책자문위원 내셔널 트러스트 문화유산 자문위원
Java Seminar 6.
J2ME(Java 2 Micro Edition) 무선 장치용 UI의 핵심 컴포넌트
Wi-Fi 기반 NATE 서비스 제공 -설명회-
PHP 웹 프로그래밍 (PHP Web Programming) 네트워크 프로그래밍 문양세 강원대학교 IT대학 컴퓨터과학전공.
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
[ 단원 08 ] 예외처리와 스레드.
[INA470] Java Programming Youn-Hee Han
8장 자바 입출력.
TCP Client/Server Program
Network Lab. Seoung Hyeon, Lee
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
6장 비연결형 지향 프로토콜 Database Lab 강 우 석.
Java Programming Language (4)
10장 SafeTalk 시스템 소프트웨어 연구실 성순화 이재일
Embeded 기초 다지기 2015년 10월 26일 intern Sally
10장 다중 스레드 10.1 스레드 개요 10.2 Thread 클래스 10.3 스레드 생성
IPSec (Internet Protocol Security protocol)
(Web Programming & Practice)
Department of Computer Engineering
DataScience Lab. 박사과정 김희찬 (월)
Department of Computer Engineering
CHAP 6. 이벤트 처리.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
Web Socket.
Sookmyung Women’s Univ. PSLAB Ohe, heejung
SYSMAC GATEWAY 간이 매뉴얼.
DataScience Lab. 박사과정 김희찬 (월)
Copyright 2011 ㈜굿애플 All rights reserved
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
산학협력단 연구지원금 시스템 사용자 매뉴얼 Copyrightⓒ2014 UOSICF. All Rights Reserved. 1.
' Strategic Alliance Partner with '
주의(主意) 본 자료는 고사성어100선의 교육자료 데모용입니다. 제품구입시 모든 교육용 자료는 별도로 무상 공급됩니다.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
네트워크 프로그래밍의 이해 School of Electronics and Information.
CHAP 13. 서비스와 방송 수신자.
RECRUITING INFORMATION
컴퓨터공학실습(I) 3주 인공지능연구실.
솔개의 교훈 _ 변화만이 살길이다 “변화” 하지 않는 자는 자연 도태됩니다. 과연 당신은 ……. 현재의 위치에 만족 한 상태로
Department of Computer Engineering
자바 5.0 프로그래밍.
센서값 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
Operating System Multiple Access Chatting Program using Multithread
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
PenSion Detail Story Board – 포탈 Section
자바 5.0 프로그래밍.
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
中国类型小说海外受追捧, 国内市场类型新作后继乏力
Choi Younghwan CSE HUFS
Department of Computer Engineering
임베디드 프로그래밍 Lecture #
Presentation transcript:

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 소개 Version1.0 Authorubivelox Date21-Feb

All Rights Reserved, Copyright© UBIVELOX co.,Ltd 1. LGU+ 과금 API 소개 2. LGU+ 과금 API 사용 방법 3. FAQ 4. Q&A

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 소개 과금 API 란 ? 과금 API 란 LGU+ 의 패킷 과금 정책에 따라 과금이 필요한 경우 과금 게이트웨이 서버를 통해 네트워크 통신 을 할 수 있도록 제공되는 API 를 말합니다. 사용법은 기본적인 소켓 API 와 동일합니다. 과금 API 를 사용하는 Application 에서는 Wi-Fi / 3G 연결 상태와 상관없이 동일한 데이터만을 전송 및 수신 하면되므로 구현이 간편합니다. Keysharp Packet Keysharp Header Bill Packet Bill Header Application Packet User Data 3G 연결 시 WiFi 연결 시 Write Read 과금 API U+ Android Network G/W U+ WiFi G/W CP 서버 U+ G/W

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 소개 과금 API 란 ? 현재 지원되는 LGU+ 과금 방식은 CP 서버에서 Android Network G/W 로 과금을 요청하는 방식입니다. 단말 에서 “Android Network Gateway 연동 규격서 ” 에 정의된 규격으로 Android Network G/W 로 Packet 을 전달하 면, Android Network G/W 에서는 해당 CP 서버로 그 Packet 을 전송합니다. 해당 CP 서버에서는 전달 된 Packet 을 바탕으로 Android Network G/W 에 과금을 요청하여야 됩니다. 과금 API 를 사용하면 이때 필요한 규격에 맞게 Packet 을 자동 구성 및 파싱을 하게 됩니다. 단말의 Application 에서는 “Android Network Gateway 연동 규격서 ” 에 명시된 BILLCOMM HEADER 및 CP HEADER 의 User Data 만을 전송 및 수신 하면되므로 구현이 간편합니다. Android Network G/W CP 서버 Application 과금 API write( AAA ) Packet LengthXXXX Application IDXXXXXXXX …… Reserved… User DataAAA BILLCOMM HEADER CP HEADER read( BBB ) Header CodeXXXX Event IDXXXXXXXX …… Service Type… User DataBBB CP HEADER

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 사용 방법 과금 API 제공 Service 로 Bind 과금 API 는 LGU+ 향 단말에 Preload 되어 있는 CommonService(Application) 를 통해서 제공 됩니다. 과금 API 를 사용하기 위해서는 과금 API 를 제공하는 Service 에 Bind 하여야 합니다. package com.lguplus.common.bill; interface IBillSocket { boolean connect(String aid, String addr, int port); void close(); int readBytes(out byte[] b); int readByOffset(out byte[] b, in int offset, in int length); boolean writeBytes(in byte[] buffer); boolean writeByOffset(in byte[] buffer, in int offset, in int length); String getLastErrorMsg(); } 1. 메모장 등을 사용하여 새 파일을 생성한 후, “LGU+_Android_ 공통 API_ 규격서 ” 의 AIDL Definition 으로 명시 된 하기 코드를 복사하여 “IBillSocket.aidl” 로 저장합니다. IBillSocket.aidl AIDL 은 반드시 “LGU+_Android_ 공통 API_ 규격서 ” 의 내용 을 수정 없이 동일하게 사용하여야 합니다. 참고로 readByOffset 및 writeByOffset 은 현재는 사용되지 않는 API 지만, 기존에 배포된 과금 API(aidl) 와의 호환성을 유지하기 위해 반드시 명시하여야 합니다.

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 사용 방법 과금 API 제공 Service 로 Bind 2. 과금 API 를 사용할 Application Project Source 에 “com.lguplus.common.bill” Package 를 생성한 후 앞서 생 성한 “IBillSocket.aidl” 파일을 복사합니다. IBillSocket.aidl “IBillSocket.aidl” 파일이 정상적으로 복사가 되었으면 Project “gen” 폴더 하위 경로 “com.lguplus.common.bill” Package 에 “IBillSocket.java” 가 자동으로 Generate 되어 생 성된 것을 확인할 수 있습니다.

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 사용 방법 과금 API 제공 Service 로 Bind 3. 과금 API 를 사용하기 위해서는 Application 에서 과금 API 를 제공하는 Service 로 Bind 요청하는 코드를 구 현해야 합니다. Service Bind 를 요청하는 방법은 일반적인 Android F/W 에서의 Service Bind 를 요청하는 방 법과 동일합니다. public class Test extends Activity { private IBillSocket mBillSock; public void onCreate(Bundle savedInstanceState) { ……… // 과금 소켓을 구현한 서비스 바인딩 하기. boolean isBind = bindService(new Intent(IBillSocket.class.getName()), serviceConn, BIND_AUTO_CREATE); } …… private ServiceConnection serviceConn = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder binder) { mBillSock = IBillSocket.Stub.asInterface(binder); billSocketTestStart(); } }; } AIDL 로 추가한 IBillSocket.class.getName() 을 Bind 요청할 Intent 의 class name 인자로 사용합니다. Connection 이 정상적으로 이루어 졌으면, 과금 API 의 인스턴스를 할당 받을 수 있습니다. 모든 준비과정이 끝났으므로, 과금 API 사용을 시작할 수 있습니다.

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 사용 방법 과금 API 사용 4. 과금 API 를 사용할 준비가 되었으므로, 해당 Application 의 요구사항에 맞게 과금 API 를 적용합니다. 기본 적인 사용 방법은 일반적인 Socket API 사용법과 동일합니다. …… private void billSocketTestStart() { new Thread() public void run() { if (!Connect()) { unbindService(serviceConn); return; } if (!Write()) { Close(); unbindService(serviceConn); return; } if (!Read()) { Close(); unbindService(serviceConn); return; } Close(); unbindService(serviceConn); } }.start(); } …… Network 상황에 따라서 시간 소요가 많이 발생 할 수 있으므로 반드시 Thread 로 구현해야 합니 다. 예외적인 상황 등에 의해서 과금 API 를 더 이상 사용할 일이 없을 때 연결한 과금 API Service 와 Bind 를 해제하여야 합니다. 과금 API Connect 이후 종료 시 반드시 Close 시켜야 합니다.

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 사용 방법 과금 API 사용 5. 과금 API 의 connect() 및 close() 는 일반적인 Socket API 사용법과 동일합니다. …… private String mAid = "00FFFFFF";//OZ Store 에 등록된 AID private String mAddr = " "; private int mPort = 10000; boolean Connect() { try { if (mBillSock.connect(mAid, mAddr, mPort)) { return true; } else { String msg = mBillSock.getLastErrorMsg(); } }catch(RemoteException e) { } return false; } …… void Close() { try { mBillSock.close(); }catch(RemoteException e) { } ……… 과금 API connect 인자는 다음과 같습니다. mAid : OZStroe 에 등록된 Application ID(8 자리 ) mAddr : CP 서버의 IP mPort : CP 서버의 Port 과금 API connect, write 시 return 값이 false 로 전달, 혹은 read 시 return 값이 -1 로 전달되면 getLastErrorMsg() 를 통해서 Error Message 를 확인 가능합니다.

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 사용 방법 -10- 과금 API 사용 6. 과금 API 의 write() 역시 일반적인 Socket API 사용법과 동일합니다. Application 에서 과금 API write 의 인자로 전달한 값은, 과금 API 에 의해서 “Android Network Gateway 연동 규격서 ” 의 BILLCOMM HEADER 의 User Data 영역으로 패킷이 구성되어 CP 서버로 전달 됩니다. …… boolean Write() { byte []buf = new byte[36];// 데이터 길이 try { System.arraycopy(toByteArray(32), 0, buf, 0, 4); // 32 ' 고정값 ' //12 자리 폰번호 예 ) System.arraycopy(“ ”.getBytes, 0, buf, 4, 12); // 게임 ID System.arraycopy("1111".getBytes(), 0, buf, 16, 4); // 상용기에 등록된 과금코드 System.arraycopy("00FFFFFF".getBytes(), 0, buf, 20, 11); // 과금금액 System.arraycopy(toByteArray(500), 0, buf, 32, 4); if (BillSock.writeBytes(buf)) { return true; } } catch(RemoteException e) { } return false; } ……… write 의 buf 로 사용한 값들은 예제 Application 과 CP 서버 간 연동 을 위해 자체 규격을 만들어, CP 서버와 통신하는 예제입니다. 즉 write 시 전달할 값들은 자체적으로 규격을 정의하여 전달하며, CP 서버에서는 해당 값이 전달 되었을 때 규격에 해당하는 과금을 요청하도록 구현하면 됩니다.

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 사용 방법 -11- 과금 API 사용 7. 과금 API 의 read() 역시 일반적인 Socket API 사용법과 동일합니다. CP 서버에서 전송한 “Android Network Gateway 연동 규격서 ” 의 CP HEADER 를 과금 API 가 수신하면 이중 User Data 로 명시된 값을 과금 API read 의 인자로 Application 에게 전달합니다. …… boolean Read() { byte []buf = new byte[36]; try { int ret = BillSock.readBytes(buf); if (ret == -1) { return false; } else { // readBytes 성공 ; } }catch(RemoteException e) { return false; } if(toInt(buf[32],buf[33],buf[34],buf[35])==500) { // 과금 성공 ; return true; } else { return false; } ……… read 의 buf 로 사용한 값들은 예제 Application 과 CP 서버 간 연동 을 위해 자체 규격을 만들어, CP 서버와 통신하는 예제입니다. write 와 마찬가지로 read 시 전달된 값들은 자체적으로 규격을 정의 하여 CP 서버에서 해당 값을 전송하며, Application 에서는 해당 값 을 수신 하였을 때 과금 성공, 실패에 맞는 처리를 구현하면 됩니다.

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API FAQ -12- Q. 과금을 CP 서버가 요청하는지요 ? 단말에서 직접 과금 할 수 있는 방식은 없는지요 ? A. 현재는 CP 서버를 통해서만 과금이 가능합니다. 단말에서 직접 과금하는 방식은 현재 준비 중에 있으며, ‘11 년 내에 지원 예정입니다. Q. CommonService 를 통한 과금 API 사용시 Connect 인자에 들어가는 IP 및 Port 는 무엇을 입력하여야 하나 요 ? A. CP 에서 구현한 CP 서버 IP 및 Port 를 입력하면 됩니다. Q. CommonService 를 통한 과금 API 사용시 write 및 Read 시 인자로 전달하는 Data 는 어떤것 인가요 ? A. CommonService 의 과금 API 는 "Android Network Gateway 연동 규격서 " 에 명시된 빌컴 헤더 정보를 자동 으로 설정 및 파싱을 합니다. 과금 API 를 통해서 Write 및 Read 시 전달되는 값은 "Android Network Gateway 연동 규격서 " 에 명시된 User Data 부분에 해당하므로, CP 서버와의 자체 규격을 만드시고 그에 해당하는 값을 전송 및 전달하면 됩니다. Q. 과금 API 를 사용하여 CP 서버와 연동 중 오류가 발생하여 문의를 하고 싶습니다. A. 오류 현상은 단말 내 혹은 CP 서버 연동간 발생할 수 있습니다. 빠른 대응을 위해서는 다음 정보를 기입 하여 로 문의 주시기 바랍니다. - 오류현상 - 단말 정보 ( 단말 버전 및 모델 명 ) - CommonService 버전 정보 ( 설정 – 응용프로그램 - 응용프로그램관리 에서 확인 가능 ) - 단말 Log( Logcat 으로 출력한 전체 로그 ) - TEST 시각 - CTN( 전화번호 ) - Application ID - Event ID

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API Q&A -13-

All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API -14-