Etiketler: | Kategoriler: Smart TV Application Development Emrah Uslu | 31.10.2011 15:39

Haftasonu evde internete bağlı Samsung televizyondaki uygulamalardan Youtube ile müzik dinlerken <<Televizyonların uygulama geliştirme ortamları nasıldır acaba>> diye düşündüm. Akşamında beyin takımı ile konuşurken tesadüfen yine bu konu açıldı ve ardından ufak bir deneme yapmak için araştırmaya giriştim.

Literatürü ve platformu farklı olsa da bir web geliştiricisinin kolaylıkla adapte olabileceği bir ortam söz konusu. Buyrun :

  • Mimari, .NET Framework ile benzer rolde bir çatı üzerine kurulu : AppEngine
  • Uygulamaların yüklenmesi, kaldırılması ve diğer işlemler için Application Manager kullanılıyor.
  • Uygulama ile ilgili tüm ayarlar, config.xml dosyasında yer alır. Xml tabanlı bu dosyada yer alan çeşitli xml etiketleri ile uygulamanın tam ekran mı çalıştırılacağı, genişlik ve yüksekliği, versiyonu vb. bilgiler, uygulama bir televizyona kurulurken kullanılır. config.xml, uygulamanın root klasöründe yer almalıdır.
  • Yazılım geliştirme ortamı için Samsung Smart TV Software Development Kit (SDK) indirilip kurulmalıdır. Uygulamanın yapısal görüntüsü için html, görsel dizaynı için css, davranışlarını programlamak için javascript dosyaları hazırlanır.
  • Bir uygulama çalıştırıldığında AppEngine önce config.xml dosyasına bakar ve gerekli konfigürasyon bilgilerini alır, güncel bir versiyon var mı diye kontrol eder. Ardından programın giriş noktası index.html dosyasına bakar.

       

  • SDK'da sunulan hazır javascript plugin kütüphanelerinden faydalanarak televizyon kanalları dışında video yayını yapmak, ses açmak, imaj galerisi hazırlamak, dosya sistemi ile çalışmak, kumadadan yapılan girişleri yakalamak oldukça kolay.
  • Uygulamanın yazılım geliştirme sürecinde test yapmak için internete bağlı bir Samsung Smart TV olması lazım. Lokal yada uzakta yer alan Apache sunucusu üzerine dağıtılan kodları, televizyona geliştirici logini olarak yüklemek mümkün. Bu işlemi 1 defa yaptıktan sonra "Senkronize Et" diyerek kodları doğrudan televizyon üzerinde test edebilirsiniz. Programı televizyona yayınlamadan önce SDK ile gelen ve görsel editörden kullanılabilen Smart TV Emülatör kullanılarak da test yapılabilir.
  • Bir Smart TV uygulaması scene'lerden oluşur. Her scene, bir web sayfası gibi düşünülebilir. Scene üzerinde Button, DatePicker, CheckBox gibi hazır komponentler, görsel editörde Component Library'den sürükle-bırak yöntemiyle kullanılabilir.
  • Bunların haricinde Application Manager ve AppEngine çatısı, üyelik sistemi için Single Sign On (Tek oturum açma) altyapısına destek vermektedir. Bu sayede televizyondan uygulamayı kullanırken bir defa login olup, uygulamayı daha sonra kullandığımızda tekrar login olmamıza gerek kalmamaktadır. Bütün uygulamaların üyelik sistemi Samsung Smart TV'de bağımsız bir ekrandan yönetilir.
  • Uygulama geliştiriciler kaynak olarak SDK'yı kurduktan sonra menüdeki HELP'den faydalanabilirler. Bunun yanında aşağıda paylaştığım Documents linkinde bulabileceğiniz 100 sayfalık App Development Guide for Samsung TV, detaylı başvuru kaynağı olarak kullanılabilir.

Kaynaklar

SDK : http://www.samsungdforum.com/Devtools/Sdkdownload

Documents : http://www.samsungdforum.com/upload_files/files/guide/data/html/documents2.html

Tutorial : http://www.samsungdforum.com/upload_files/files/guide/data/html/tutorials2.html

Developer : http://developer.samsung.com/home.do

Spec & Feature : http://www.samsungdforum.com/Devtools/Spec

Yorumlar (13) -

Ercan Bozkurt on 31.10.2011 16:55 Eline sağlık Emrah hocam.
Uygulamanın dağıtımı konusunda bilgin var mı?
Emrah Uslu on 31.10.2011 17:24 Test süreci için şöyle :
TV’nin bağlı olduğu lokal network’den ulaşılabilecek şekilde kendi bilgisayarına yada bir uzak server’a Apache kurup uygulamayı oraya publish ediyorsun.
Ardından kendi televizyonuna developer logini olup lokal network’den yada uzak server’dan Apache’yi gösteriyorsun.
Bunları 1 kere yaptıktan sonra artık “Senkronize Et” diyerek yazdığın kodu doğrudan tv’de test edebiliyorsun.
Uygulama Production ortamı için hazırsa Samsung’a gönderiyorsun.
sinan geriş on 08.12.2011 14:47 Merhaba,

Geliştirmiş olduğun uygulamayı televizyona atmak için aşağıdaki linki inceledim. Login olduktan sonra ayarlar kısmından development bölümü açılmadı. Login olduğum kullanıcı developer yinede açamadım. Bununla ilgili bir çözümünüz var mı ?

www.samsungdforum.com/.../test_app_on_tv.html
Emrah Uslu on 08.12.2011 15:14 Merhaba Sinan Bey,

Öncelikle samsung forumdaki bilgiler, şu inkteki dosyadan, orjinalini paylaşayım sizinle.

www.emrahuslu.com/.../UserApplicationGuide.pdf

Ben linkteki dosyada yer alan adımları takip ederek önce kullanıcı oluşturup ardından login olabiliyorum.

Siz şu sırayı takip ettiniz mi?

- Kullanıcı adı sizin burda yorumda belirttiğiniz gibi "developer" değil "develop" olarak "Create Account" ile hesabı açtınız.
- Mail ve şifre bilgilerini girdiniz.
- Ardından yine "develop" kullanıcı adı ve şifrenizle bu sefer "Login" oldunuz.
- Şimdi Settings kısmında "Development" menüsünü görmeniz lazım ama göremiyorsunuz?
sinan geriş on 08.12.2011 15:35 Öncelikle teşekkürler Emrah Bey,

develop isminin direk login ismi verilmesi gerektiğini hiç düşünmedim.Smile Sonra çözdüm ama enterasan olmuş. Fakat şimdide bilgisayarımla senkronize edemiyorum bağlantı sağlanamadı diyor . Apache üzerinde değiştirmem gereken bir ayar var mı ?
Emrah Uslu on 08.12.2011 16:11 Ordaki adımlar şöyle olmalı.

- Apache server'ı bağladığınız internet ağı ile televizyonun bağlandığı internet ağı aynı olmalı.
- "Setting Server Ip" menüsünde uygulamayı publish ettiğiniz apache sunucusunun ip bilgisi girilmeli.
- Televizyon kapatılıp yeniden açılmalı
- "develop" hesabı ile yeniden login olunmalı
- "User Application Syncronization"a tıklanmalı

Bunlar dışında birşey yapmaya gerek yok. Burada önemli noktalar uygulamanın publish edildiği apache sunucusunun ip bilgisinin doğruluğu. Bunu test etmek için tarayıcıdan uygulamadaki bir html dosyaya erişilebildiğini kontrol edebilirsin. Eğer erişilemiyorsa önce bu erişim sorununu çözmek gerekli.
Sinan GERİŞ on 08.12.2011 16:19 Emrah Bey,
Problemi hallettim yardımlarınız için teşekkürler. Wireless ayarlarıyla alakalıymış.
Şimdi güzel uygulamalar yapma zamanı Smile
Emrah Uslu. on 08.12.2011 16:24 Elinize sağlık Smile
Kolay gelsin...
sinan geriş on 09.12.2011 14:25 Emrah Bey,

Size takıldığım bir konuyla ilgili birşeyler sormak istiyorum. Umarım rahatsız etmemiş olurum.

www.samsungdforum.com/.../...video_app_task_1.html

buradaki linltekine benzer bir uygulama geliştirmeye çalışıyorum. Fakat buradaki adımlarda bir eksiklik var galiba bunları aynı sırayla takip ettiğimde uygulama emulatorde çalışmıyor. Benzer bir uygulama ile uğraştıysanız veya çözümü biliyorsanız yardımlarınızı bekliyorum.

Tekrar teşekkürler...
Emrah Uslu. on 14.12.2011 09:59 Merhabalar,

Problemi büyük ihtimalle halletmişsinizdir diye düşünüyorum, geç cevap yazabiliyorum.

Ne durumdasınız?
sinan geriş on 14.12.2011 14:09 Oradakinini benzeri bir uygulamayı çalıştırmada sıkıntılarım halen devam etmekte.Youtube apisini kullanarak youtube uzerindeki bir videoyu oynatabildim. fakat kendi serverım üzerindeki bir videoyu oynatamadım.Benim için önemli olan kendi video arşivimdekileri oynatabilmek yardım edebilirmisiniz?
Teşekkürler....
Emrah Uslu. on 16.12.2011 01:13 Selam,

Henüz kendi arşivimdeki bir videoyu oynatma ile ilgili bir test yapmadım. İlk fırsatta yapıp sonuçları paylaşacağım.
sinan geriş on 16.12.2011 09:49 Merhaba,

Ben şuan kendi arşivimden veya kuracağım bir server üzerinden videoları çekmek için uğraşıyorum. Buraaki uygulama da programın içine gömülü bir videoyu oynatıyor. Fakat ben bunu ne emülatörde nede tv'de çalıştıramadım.

Example link tag:<link>111.222.333.444/.../link>;

Uygulamayı anlatırken böyle bir örnek vermiş. Burada bir ip adresi üzerinden server'dan çekiyor olması gerekirken videoyu aynı zamanda video uygulamanın içerisinde de bulunmakta. Ben direk linke bağlanıp oradan çekmeye çalışıyorum. Fakat şimdilik localhost üzerinden denememe rağmen olmuyor. Bunlarla ilgili de bir bilginiz olur ve paylaşırsanız memnun olurum.
Sizede iyi çalışmalar.kolay gelsin...  

Yorum ekle

biuquote
  • Yorum
  • Canlı önizleme
Loading