개요 - GiGAGenie-ServiceSDK/UserGuide GitHub Wiki
본 문서는 3rd Party 사업자가 GiGA Genie에서 서비스를 제공하기 위해 사용해야 하는 Service SDK의 이용 가이드이다. Service SDK를 이용하면, 3rd Party 사
업자는 GiGA Genie에 탑재된 음성, 통화, 데이터 관리 기능을 활용하여 GiGA Genie에 제공될 서비스를 개발할 수 있다. 본 문서에서는 Service SDK를 이용하기 위한 방법과 Service SDK가 제공하는 API(Application Programming Interface)에 대한 설명, 그리고 이를 활용한 샘플 코드의 예를 제시한다.
GiGA Genie 에서 3rd Party 서비스는 GiGA Genie Service SDK 를 이용해서 구현한 3rd Party 의 Web-App을 GiGA Genie의 Container App 에서 실행시켜 주는 형태로 제공된다.
3rd Party는 Service SDK가 제공하는 JavaScript API를 이용해서 웹 어플리케이션 으로 구현해야 하며, 자체 웹 서버를 통해서(또는 KT와 제휴하여 GiGA Genie Service SDK에서 제공하는 Hosting 웹서버를 이용하여) 서비스를 제공하여야 한다.
3rd Party 가 GiGA Genie 에서 서비스를 제공하기 위해서는 다음의 단계를 거친다.
-
등록
- 사업 제휴
- 서비스 제공, 홍보, 결제/과금 등의 사업적 측면의 절차이다.
(향후 관련 절차 제공예정)
- 서비스 제공, 홍보, 결제/과금 등의 사업적 측면의 절차이다.
- 개발자 등록
- GiGA Genie 에서 서비스를 개발하고 제공하고자 하는 사업자는 개발자 등록을 하여 developer id(개발자 ID)를 발급 받아야 한다.
- 개발자 등록 시, 제공하고자 하는 서비스(이하 App) 정보를 등록하여 app id 를 발급 받아야 한다.
- App 정보 등록과 함께 App의 인증 키 값인 AppKey를 발급 받아야 한다.
(개발자 센터는 2017년 9월에 웹으로 제공될 예정이며,
그 전에는 담당자에게 관련 ID/Key를 발급 받는다.)
- 사업 제휴
-
개발
- Service 개발
- Service 개발은 GiGA Genie Service SDK를 이용해서 제공할 App을 개발하는 과정으로 본 문서를 참조하여 개발해야 한다.
- 대화 개발
- 대화 개발은 상황 인지를 위한 개발로, 3rd Party App의 실행 조건 또는 상황을 판단하도록 한다. 관련 내용은 본 문서에서 다루지 않는다.
- 음성 개발
- 3rd Party 서비스에서 필요한 음성 서비스를 개발하는 단계로, 관련 내용은 본 문서에서 다루지 않는다.
- Service 개발
-
검증
- Service Test
- 3rd Party 가 개발한 서비스를 테스트 하는 과정이다. 테스트는 다음의 두가지 방법으로 진행한다.
- Emulator 테스트 : Emulator 에서 테스트 하는 과정으로, 개발 즉시 확인이 가능하다.
- G-Box 개발자 모드 테스트 : G-Box 의 Container App 을 개발자 모드로 설정-테스트 한다. G-Box 의 개발자 모드는 특정 Device 의 특정 AppID 에만 동작한다.
- 3rd Party 가 개발한 서비스를 테스트 하는 과정이다. 테스트는 다음의 두가지 방법으로 진행한다.
- 서비스 검증
- 서비스 검증은 해당 서비스를 배포하기 전에 동작을 확인하는 단계이다.
(향후 관련 절차 제공 예정)
- 서비스 검증은 해당 서비스를 배포하기 전에 동작을 확인하는 단계이다.
- Service Test
-
배포
- Service 배포
- 서비스 검증은 해당 서비스를 배포하기 전에 동작을 확인하는 단계이다.
(향후 관련 절차 제공 예정)
- 서비스 검증은 해당 서비스를 배포하기 전에 동작을 확인하는 단계이다.
- Service 배포
용어 | 설명 |
---|---|
GiGA Genie 단말 | 셋탑박스 형태로 제공되는 GiGA Genie 서비스 하드웨어를 의미함 |
G-Box | GiGA Genie 단말과 같은 의미 |
Service SDK | 특정 서비스를 개발하기 위한 환경과 관련 API, 개발 툴킷을 의미 |
Hybrid App | HTML5, CSS, Javascript 등 웹의 표준 기술을 이용, HTML에 단말의 네이티브 호출을 적용하여 구현한 앱 |
MC | Main Controller 의 준말로, GiGA Genie 의 서비스 제어 프로그램을 의미 |
Proxy | 클라이언트가 간접적으로 다른 네트워크 서비스에 접속하도록 해주는 시스템 |
Container App | 다른 App을 실행해주는 환경을 Container라 지칭하며, Container를 실행해주는 앱을 의미함 |
JS | Javascript의 약자 |
Emulator | Emulator 는 특정 시스템의 동작을 흉내 내는 시스템 |
UUID | Universally Unique Identifier 의 약자로, 소프트웨어 구축에 쓰이는 식별자 표준임 |
Sandbox | 외부로부터 들어온 프로그램이 보호된 영역에서 동작하도록 하는 것 |
GATE | GiGA Genie App Transmission Environment의 약자로 Service SDK 동작을 지원하기 위한 서버 시스템을 의미한다. |