category: Samsung

Develop Samsung Smart TV Apps

on 2013-12-16

Develop Samsung Smart TV Apps

由於最近應公司需求而開始要開發 Samsung 的 Smart TV 上的 App 身為一個前端攻城獅要去開發電視的 App? 沒想到 Smart TV 的 App 竟然是用前端技術寫的(HTML, JavaScript, CSS) Smart TV 是 base on Linux 所以效能似乎 OK? 於是就來研究一下 SAMSUNG SMART TV APPS Developer Forum 載 SDK 與 TV 模擬器(除非 money 多多直接買一台 Smart TV, 不過有開發過 Android 的都知道 模擬器都是假的 ) SDK Download(Software development kit) 載 virtualBox Oracle VM VirtualBox

建立開發環境

  1. 裝 virtualBox
  2. 開 SDK(用超吃資源的 eclipse Orz)
  3. 開 virtualBox, 掛 Smart TV Emulator
  • 檔案 -> 匯入應用裝置(選擇下載的 Smart TV Emulator)
  • 設定值 -> 共用資料夾 -> 編輯(資料夾名稱 / Apps, 資料夾路徑 / /Users/tedshd/Documents/workspace (SDK workspace 路徑))

開始開發

懶得看下去有 YouTube 影片 Samsung smart tv development tutorial - 01 Samsung smart tv development tutorial - 02 Samsung smart tv development tutorial - 03 GTUG 的 Samsung Smart TV開發簡介 圖文版

1.建立 JavaScript 專案

全熒幕_2013_12_16_下午5_14.png

全熒幕_2013_12_16_下午5_15.png

全熒幕_2013_12_16_下午5_16.png

全熒幕_2013_12_16_下午5_17.png

全熒幕_2013_12_16_下午5_18.png

全熒幕_2013_12_16_下午5_19.png

2.開始修改

全熒幕_2013_12_16_下午5_21.png

全熒幕_2013_12_16_下午5_23.png

3.Run 模擬器

全熒幕_2013_12_16_下午5_28.png

全熒幕_2013_12_16_下午5_36.png

全熒幕_2013_12_16_下午5_37.png

全熒幕_2013_12_16_下午5_38.png

全熒幕_2013_12_16_下午5_40.png

全熒幕_2013_12_16_下午5_41.png

Test app on TV

先決條件 開發的 PC or Mac 必須有 server 因為它是把 app 打包後由 smart TV 連 server 去抓 app 在 smart TV 上 Samung 帳號要用 develop 才能跑出抓 app 的選項 基本上照著底下 Testing Your Application on TV 做就可以順利把 app 丟到 TV 上 Debugging and Testing Applications Testing Your Application on a TV Testing Your Application on a TV for 2014

Some Tip

在打包 app 時 config.xml

<ver itemtype="string">0.100</ver>

版號必須與打包時的版號相同

SDK 的大版號對應該年度的 Samsung Smart TV

  • SDK Emulator 1.5 - for 2010 platform
  • SDK Emulator 2.5 - for 2011 platform
  • SDK Emulator 3.5 - for 2012 platform
  • SDK Emulator 4.5 - for 2013 platform
  • SDK Emulator 5.0 Beta - for 2014 platform

所以要用其他年度的 TV 上必須要用對應的 SDK 打包 其中也必須小心 API 的支援程度 目前發現新版 SDK(5.0) 打包可在 2013 年的 TV 跑

在 app 中需有提示 user 遙控器哪些按鍵有功能的 info bar

在 app 最上層(或是所謂的首頁)按返回須有 confirm 的行為

影片相關的 app 需注意音量控制

在 web 跑爽爽, 到 TV 上可不一定 有可能有 JavaScript method、event or API 不支援 也有網路連線上速度的問題, 拉 API 時會卡住

網路中斷 Samsung Smart TV 會出 notification, 所以可不處理, 但有時不靈光

在 eclipse 接 TV 的 log Refer - How to view logs in Samsung Smart TV log viewer

Some Documents

Introduction to Smart TV platform JavaScript UI Device API Web Device API Player Specification video/audio support CSS3 Browser Specification The difference between Return and Exit keys TVKeyValue Object remote control key code

Issue

  • deploy apps on TV version and update not easy
  • deploy apps have cache?
  • Samsung some sample code can’t run on TV
  • device API, web device API 支援不多
  • third party login(Fb, Google …)Single Sign-On / Using Single Sign-On (SSO)

Read more