삼성전자 VD 사업부유영욱선임
목차 Samsung Smart TV Smart TV App Samsung Smart TV SDK Hello TV App 만들기 Key Event 처리 Q & A
Samsung Smart TV
Samsung Smart TV History InfoLive (2007) Power InfoLink (2008) Internet@TV (2009) Internet@TV (2010) Smart TV (2011) Smart TV (2012) Smart TV (2013) Multimedia support Possible to add service TV app store launch Paid app available (US, Korea) Smart Interaction - Voice,Gesture,Face Convergence - Allshare - TV-Mobile Framework Signature Services DRM extension RSS (Text)-based Static service Service upgradable SDK release Content recommendation Web browsing Full unified search Recommendation Performance
Smart TV App
어떤 App 을개발해야될까?
인기 Smart TV App
동영상관련 App
영상통화 & 사진, 그림감상 App
Mobile Convergence App
유아용 App
건강관리 App
인기 Game App
인기 App 의특징?
어떤 App 을개발해야할까? TV 의대형화면을이용 조작이간단한 App 리모컨으로조작이어렵다면모바일기기를이용. (Convergence) TV 를주로많이보는시청층을공략 결국 TV 는무엇인가보려는사람들이이용하는기기이다.
Samsung Smart TV App
Smart TV App Smart TV App are web-based software programs that run on digital TVs connected to the Internet Digital TV Big screen Video + Audio Channel + Volume Remote Control Device Discovery More Internet Web Browsing Web Services Streaming Video Social Networking HTML More Smart TV Apps
App 종류 Area
App 종류 Project 1. Basic (JS) - Apps Framework - Visual Editor 2. JavaScript (JS) 3. Flash (Flash) 4. PNaCl (Native App)
App 구성파일 Scene 구성파일 Visual Editor 용파일 Basic App ( Apps Framework) JavaScript App Flash App
PNaCl App 구성파일
Basic App app.json - scenes : App 을구성하는 Scene 의목록을나타냄 - files : App 로드시 include 할파일들의목록 ( <script> 태그를사용하는것과동일한효과 ) - theme : UI 컴포넌트테마 ( 현재는 base 만존재함 ) - languages : 지원언어 - resolutions : App 해상도 (54op 960 x 540, 72op 1280 x 720) - modules : App 함께로드할모듈이름 ( 현재 ime, sso 만지원 )
Basic App init.js
Basic App Scene1.js (1)
Basic App Scene1.js (2)
Basic App Scene1.html, Scene1.css Scene1.html ( 비어있음 ) Scene1.css
Basic App index.html
Native App (PNaCl) Web App PNaCl C, C++ HTML JavaScript
Native App (PNaCl)
공통 config.xml
Samsung Smart TV SDK
Samsung Smart TV SDK 1 IDE (Eclipse-based) Virtual Box Linux (Ubuntu 12.04) 2 Emulator
SDK 실행요구사항 지원 OS : Windows, Mac OS, Linux 하드웨어요구사항 Processor : Dual Core 1.5GHz / Single Core 3GHz or higher RAM : 2 GB or higher Screen resolution : 1280 x 1024 or higher HDD : 5GB or higher 소프트웨어요구사항 VirtualBox Java Standard Edition(Java SE) 1.6 or higher
SDK Download URL : http://www.samsungdforum.com/devtools/sdkdownload
SDK 설치 [ 설치방법 ] IDE JRE 설치후 SDF 에서 IDE 파일다욲로드후압축해제 Emulator 1) VirtualBox 를먼저설치 2) SDF 에서 Emulator 이미지파일 (.OVA) 다욲로드 3) VirtualBox 에서 Emulator 이미지 Import
SDK 설정 [Editor 설정 ] Chrome Path [ Emulator 설정 ] Apps 폴더설정 Web Server
IDE Visual Editor GUI Components Properties of Selected Component
Emulator Menu Remote Control Application Log Viewer
Hello TV App (JavaScript App)
프로젝트생성
Hello TV App index.html
Hello TV App main.js
Hello TV App main.css
Hello TV App 결과화면
Key Event 처리
Key Code [ URL ] http://samsungdforum.com/guide/art00046/index.html
index.html, JS file JS file index.html
Key 등록 / 해제 [ 등록 ] registkey (KEY 코드 ) - 해당키를 App 에서직접처리하겠다고등록하는것 (ex : 볼륨키 TV 의볼륨 OSD 화면을이용하지않고 App 에서별도의볼륨 UI 를제공하는등 App 에서볼륨키를직접처리할때 ) [ 해제 ] unregistkey(key 코드 ) - 해당키를 App 에서처리하지않고 TV 에서제공하는처리를그래도따른다는것 (ex : 볼륨키 TV 의볼륨 OSD 화면을그대로이용 )
마우스처리 config.xml : mouse 태그추가 [ 주의 ] Anchor 를이용한이벤트처리방식을사용할경우마우스의클릭이벤트에따라클릭한요소로포커스가이동하는브라우저의기본특성때문에리모콘 Key 와마우스두가지방식은함께사용할수없음. [ 리모콘과마우스를동시에지원하기위한 Tip! ] Anchor 대싞 Body 에 onkeydown 핸들러를등록해서처리한다. Body 에서이벤트를처리하기때문에포커스를잃어버리는문제가해결됨.
Q & A 감사합니다.