Tizen Samsung va Linux Foundation tomonidan ishlab chiqilgan Linux asosidagi ochiq manbali operatsion tizimdir. Galaxy Watch aqlli soatlarida, Samsung Smart TV televizorlarida, maishiy texnikada va IoT qurilmalarida qo'llaniladi. Mahalliy ilovalar uchun C/C++ va veb-ilovalar uchun HTML5/JavaScript da ishlab chiqish amalga oshiriladi. Tizen SDK Visual Studio Code asosidagi emulyator va IDE ni taqdim etadi. Tizen Assotsiatsiyasi ma'lumotlariga ko'ra, ekotizim 200 milliondan ortiq qurilmalarni o'z ichiga oladi.
Asosiy fikrlar
Tizen Samsung va Linux Foundation tomonidan boshqariladigan ochiq manbali operatsion tizimdir. Birinchi tijoriy reliz Tizen 1.0 2012 yilda chiqarilgan. Tizim Linux yadrosiga asoslanadi va turli xil qurilma turlari uchun o'z freymvork arxitekturasidan foydalanadi: Tizen Mobile (smartfonlar — loyiha 2017 yilda yopilgan), Tizen Watch (soatlar), Tizen TV (televizorlar) va Tizen IoT (aqlli uy).
2021 yildan boshlab Samsung Tizen-ni asosan taqiladigan qurilmalar va televizorlarda ishlatmoqda. 2021 yilgacha barcha Galaxy Watch aqlli soatlari Tizen da ishlagan (Galaxy Watch, Watch Active, Watch 3). Galaxy Watch 4 dan boshlab Samsung One UI Watch bilan Wear OS ga o'tdi, ammo Tizen mavjud qurilmalar va TV lar uchun qo'llab-quvvatlanmoqda. Samsung ma'lumotlariga ko'ra (Tizen Ekotizim Hisoboti, 2025), butun dunyo bo'ylab 180 milliondan ortiq televizorda Tizen TV o'rnatilgan.
Tizen ning asosiy xususiyati ikkita ishlab chiqish paradigmasini qo'llab-quvvatlashidir: maksimal samaradorlik bilan mahalliy ilovalar (C/C++) va tez ishlab chiqish uchun veb-ilovalar (HTML5, CSS, JavaScript). Ikkala tur ham Tizen Device API ga kirish huquqiga ega — Bluetooth, NFC, Wi-Fi, sensorlar, kamera va multimedia bilan ishlash uchun o'ramlar.
Tizen 2.3 (2014) — Samsung Z smartfonlari uchun birinchi barqaror versiya. Tizen 3.0 (2017) — yaxshilangan ko'p vazifalilik, Vulkan qo'llab-quvvatlashi, 64-bit arxitektura. Tizen 4.0 (2018) — qayta ishlangan freymvorklar, NPU da AI tezlashtirish qo'llab-quvvatlashi. Tizen 5.5 (2020) — AVPlay 2.0, WebAssembly, yaxshilangan render bilan Tizen TV. Tizen 6.0 (2022) — qurilmada ML xulosa qo'llab-quvvatlashi, IoT uchun Matter Protokoli.
| Tizen versiyasi | Yil | Qurilmalar | Asosiy yangilik |
|---|---|---|---|
| 2.3 | 2014 | Smartfonlar | Samsung Z da birinchi tijoriy reliz |
| 3.0 | 2017 | Smartfonlar, soatlar | Vulkan, 64-bit, Galaxy Watch |
| 4.0 | 2018 | Soatlar, TV, IoT | AI freymvorklari, Tizen TV 2019 |
| 5.5 | 2020 | TV, IoT | AVPlay 2.0, WebAssembly, yaxshilangan WebGL |
| 6.0 | 2022 | TV, IoT | ML xulosa, Matter Protokoli |
Tizen arxitekturasi ko'p qatlamli tuzilma bilan modul prinsipi asosida qurilgan. Eng pastki qatlam energiya samaradorligi va real vaqt vazifalari (TV va audio uchun RT_PREEMPT) uchun yamalar bilan Linux yadrosidir. Yadro ustida Apparat Abstraksiya Qatlami (HAL) joylashgan bo'lib, u kamera, sensor, Bluetooth, Wi-Fi, NFC va displey drayverlariga (DirectFB yoki Wayland orqali) yagona kirishni ta'minlaydi.
Core Framework qatlami o'z ichiga oladi: Application Framework (ilova hayotiy sikli boshqaruvi), UI Framework (EFL — UI uchun Enlightenment Foundation Libraries, DALi — o'yinlar va animatsiyalar uchun 3D dvigatel), Multimedia Framework (GStreamer va MediaCodec orqali kamera, audio, video), Network Framework (Bluetooth, Wi-Fi, NFC, HTTP, WebSocket) va Security Framework (SELinux, Smack, Tizen Imtiyoz Tizimi).
Xizmat qatlami tizim xizmatlarini taqdim etadi: Application Manager (ishga tushirish, to'xtatish, ko'p vazifalilik), Package Manager (ilovalarni o'rnatish/o'chirish, .tpk va .wgt formatlari), Location Manager (GPS, Wi-Fi joylashuvi, Geofence), Sensor Manager (akselerometr, giroskop, barometr, yurak urish tezligi monitori), Context Manager (foydalanuvchi faoliyatini tanib olish: yurish, yugurish, uxlash).
Tizen veb-ilovalar uchun Device API ni taqdim etadi — mahalliy API lar bilan bir xil funksiyalarga kirishni beruvchi JavaScript interfeyslari. API lar modullarga bo'lingan: Application API, Bluetooth API, Calendar API, Call History API, Contact API, Content API, Data Control API, Download API, Gallery API, Media Controller API, Message API, NFC API, Notification API, Power API, Push API, System Info API, Time API, Web Setting API.
Tizen mahalliy ilovalari .tpk formatidagi (Tizen Package Kit) bajariluvchi faylga kompilyatsiya qilinadi. Asosiy til GCC yoki Clang kompilyatori bilan C++11/14. Ishlab chiqish Tizen Studio yoki Tizen kengaytmasi bilan Visual Studio Code da amalga oshiriladi. Mahalliy ilovalar EFL, DALi, GStreamer va barcha tizim API lariga vositachilarsiz to'g'ridan-to'g'ri kirish huquqiga ega, bu maksimal samaradorlikni kafolatlaydi.
Mahalliy ilova tizen-manifest.xml fayli (AndroidManifest.xml ga o'xshash), bir yoki bir nechta umumiy kutubxona (.so) va resurslarni (tasvirlar, shriftlar, lokalizatsiyalar) o'z ichiga oladi. Hayotiy sikl app_event_cb orqali boshqariladi: APP_EVENT_CREATE, APP_EVENT_RESUME, APP_EVENT_PAUSE, APP_EVENT_DESTROY. UI oyna ilovalari uchun EFL (Edje + Elementary) yoki 3D grafika uchun DALi orqali quriladi.
// EFL UI bilan C++ da Tizen mahalliy ilovasi
#include <app.h>
#include <efl_extension.h>
#include <dlog.h>
typedef struct appdata {
Evas_Object *win;
Evas_Object *conform;
Evas_Object *label;
} appdata_s;
static void
win_delete_cb(void *data, Evas_Object *obj, void *event_info) {
ui_app_exit();
}
static void
create_base_gui(appdata_s *ad) {
// Tizen oynasini yaratish
ad->win = efl_add(EFL_UI_WIN_CLASS, nullptr,
efl_ui_win_typename_set(efl_add(EFL_UI_WIN_CLASS, nullptr), "tizen-hello"));
// Oyna sarlavhasi
efl_text_set(ad->win, "Hello Tizen");
efl_event_callback_add(ad->win, EFL_UI_WIN_EVENT_DELETE_REQUEST, win_delete_cb, ad);
// Conformant — taqiladigan qurilmalar uchun standart Tizen konteyneri
ad->conform = efl_add(EFL_UI_CONFORMANT_CLASS, ad->win);
efl_content_set(ad->win, ad->conform);
efl_gfx_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
// Matn yorlig'i
ad->label = efl_add(EFL_UI_LABEL_CLASS, ad->conform);
efl_text_set(ad->label, "Tizen ga xush kelibsiz!");
efl_content_set(ad->conform, ad->label);
// Oynani ko'rsatish
efl_gfx_size_hint_weight_set(ad->label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
efl_gfx_size_hint_align_set(ad->label, EVAS_HINT_FILL, EVAS_HINT_FILL);
}
static void
app_get_resource_cb(void *data) {
// Ilova resurslarini olish boshqaruvchisi
appdata_s *ad = (appdata_s *)data;
create_base_gui(ad);
}
static bool
app_create_cb(void *data) {
// Ilova yaratilganda chaqiriladi
appdata_s *ad = (appdata_s *)data;
create_base_gui(ad);
return true;
}
int
main(int argc, char *argv[]) {
appdata_s ad = {0,};
ui_app_lifecycle_callback_s event_callback = {0,};
event_callback.create = app_create_cb;
return ui_app_main(argc, argv, &event_callback, &ad);
}Mahalliy Tizen Hello World ilovasi UI uchun EFL (Enlightenment Foundation Libraries) dan foydalanadi. ui_app_main hayotiy sikl qayta chaqiruvlarini qabul qiladigan Tizen kirish nuqtasidir. efl_add Win → Conformant → Label iyerarxiyasi orqali UI obyektlarini yaratadi. EFL UI Edje kompozit modeliga asoslanadi — mavzu tavsiflari .edc fayllarida yoziladi va .edj ga kompilyatsiya qilinadi.
tizen-manifest.xml fayli mahalliy ilovaning konfiguratsiyasidir. id (teskari domen formatidagi noyob identifikator), package (paket nomi), version, label (ko'rsatiladigan nom), author va description ni belgilaydi. Imtiyozlar API kirishini e'lon qiladi: http://tizen.org/privilege/bluetooth, http://tizen.org/privilege/location, http://tizen.org/privilege/camera. Imtiyoz ko'rsatilmasdan tegishli API ni chaqirish SECURITY_ERR xatosiga olib keladi.
Tizen veb-ilovalari .wgt formatida (W3C Widget) paketlangan HTML5 ilovalaridir. Ishlab chiqish oddiy veb-sayt yaratish bilan bir xil, ammo global tizen obyekti orqali Tizen Device API ga qo'shimcha kirish imkoniyati mavjud. Veb-ilovalar WebKit dvigateli (Tizen 2.x-4.x) yoki Chromium (Tizen 5.5+) asosidagi o'z Web Runtime (WRT) jarayonida ishlaydi.
Veb-ilova index.html (kirish nuqtasi), config.xml (W3C Widget Konfiguratsiyasi), CSS, JavaScript va tasvirlarni o'z ichiga oladi. config.xml fayli KaiOS dagi manifest.webapp ga o'xshaydi: majburiy maydonlarga widget (id, version, soatlar uchun height/width), name, description va author kiradi. Device API uchun ruxsatlar tizen:privilege elementi orqali ko'rsatiladi. CSP (Kontent Xavfsizlik Siyosati) bo'limi skript manbalarini cheklaydi.
// Tizen Watch veb-ilovasi uchun config.xml
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets"
xmlns:tizen="http://tizen.org/ns/widgets"
id="com.example.heartrate"
version="1.0.0"
height="360" width="360">
<tizen:application id="com.example.heartrate"
package="com.example.heartrate"
required_version="4.0"/>
<name>Pulsometr</name>
<description>Galaxy Watch da pulsni o'lchash</description>
<author>Developer</author>
<tizen:privilege name="http://tizen.org/privilege/healthinfo"/>
<tizen:privilege name="http://tizen.org/privilege/sensor"/>
<tizen:profile name="wearable"/>
<tizen:content-security-policy>
default-src 'self'; script-src 'self'; style-src 'self'
</tizen:content-security-policy>
</widget>Minimal config.xml parchasi asosiy elementlarni ko'rsatadi: id va versiya bilan widget, dumaloq soat ekranlari uchun wearable profil bilan tizen:application, healthinfo va sensor API uchun tizen:privilege va kontent yuklashni faqat ilova paketi bilan cheklovchi Kontent Xavfsizlik Siyosati.
// Tizen Watch veb-ilovasi: yurak urish tezligini kuzatish
const HeartRateMonitor = {
hrSensor: null,
isMonitoring: false,
async init() {
try {
// HRM sensori qo'llab-quvvatlashini tekshirish
const sensors = tizen.sensorservice.getAvailableSensors();
if (!sensors.includes('HRM')) {
throw new Error('HRM sensori topilmadi');
}
// Yurak urish tezligi sensoriga kirish olish
this.hrSensor = tizen.sensorservice.getDefaultSensor('HRM');
console.log('HRM sensori ishga tushirildi');
} catch (err) {
console.error('Ishga tushirish xatosi:', err.message);
}
},
startMonitoring() {
if (!this.hrSensor) return;
this.isMonitoring = true;
this.hrSensor.startSensor({
interval: 1000, // har soniyada o'lchash
callback: {
onsuccess: (data) => {
const heartRate = data.heartRate;
document.getElementById('hr-value').textContent = heartRate;
this.updateDisplay(heartRate);
},
onerror: (err) => {
console.error('Sensor xatosi:', err.message);
}
}
});
},
stopMonitoring() {
if (this.hrSensor && this.isMonitoring) {
this.hrSensor.stopSensor();
this.isMonitoring = false;
}
},
updateDisplay(heartRate) {
// 360x360 dumaloq ekranda yurak urish tezligini vizuallashtirish
const canvas = document.getElementById('hr-canvas');
const ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, 360, 360);
// Dumaloq yurak urish tezligi ko'rsatkichi
ctx.beginPath();
ctx.arc(180, 180, 120, 0, 2 * Math.PI);
ctx.strokeStyle = '#ff4444';
ctx.lineWidth = 8;
ctx.stroke();
}
};
document.addEventListener('DOMContentLoaded', () => {
HeartRateMonitor.init().then(() => {
HeartRateMonitor.startMonitoring();
});
});HeartRateMonitor ilovasi Galaxy Watch HRM sensoriga kirish uchun Tizen Sensor API dan foydalanadi. tizen.sensorservice.getDefaultSensor('HRM') yurak urish tezligi sensorini oladi, startSensor 1 soniya oralig'ida o'lchovlarni boshlaydi. 360×360 canvas dumaloq indikator chizadi — dumaloq Tizen soat ekranlari uchun odatiy UI paradigmasi.
Tizen Watch noyob UI xususiyatlariga ega: dumaloq ekran (Galaxy Watch da 360×360 piksel), navigatsiya uchun fizik ramka (rotary bezel) va uchta apparat tugmasi: Home, Back va Custom. Dasturchi interfeysni dumaloq maydonga moslashtirishi kerak — burchak elementlari kesilishi mumkin. Circle UI dumaloq ekranlar uchun tayyor komponentlar bilan Samsung kutubxonasidir.
Rotary Bezel — Galaxy Watch ekrani atrofida ro'yxatlarda navigatsiya, ovoz balandligini sozlash va yaqinlashtirish uchun aylanadigan fizik halqadir. Tizen da aylanish hodisasi rotarydetector yoki EFL edge signali orqali qayta ishlanadi. Har bir ramka tishchasi aylanish burchagi (0-360 daraja) bilan hodisa yaratadi. Veb-ilovalar ramkani rotarydetector API (tizen.rotarydetector) orqali boshqaradi.
// Tizen Watch da Rotary Bezel bilan ishlash
class RotaryNavigation {
constructor() {
this.currentAngle = 0;
this.sections = document.querySelectorAll('.rotary-section');
this.currentSection = 0;
this.init();
}
init() {
// Ramka aylanish hodisalariga obuna bo'lish
const detector = tizen.rotarydetector;
detector.addEventListener('rotarydetector', (event) => {
// event.angle — joriy burchak (0-360)
// event.direction — 'cw' (soat yo'nalishi) yoki 'ccw' (teskari)
this.handleRotation(event);
});
// rotarydetector ni faollashtirish
detector.start();
}
handleRotation(event) {
const delta = event.delta; // burchak o'zgarishi
this.currentAngle += delta;
// Yo'nalish va harakatni aniqlash
if (delta > 0) {
// Soat yo'nalishi bo'yicha aylanish — keyingi element
this.currentSection = Math.min(this.currentSection + 1, this.sections.length - 1);
} else {
// Soat yo'nalishiga teskari aylanish — oldingi element
this.currentSection = Math.max(this.currentSection - 1, 0);
}
this.updateUI();
}
updateUI() {
this.sections.forEach((el, i) => {
el.classList.toggle('active', i === this.currentSection);
el.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
});
}
destroy() {
tizen.rotarydetector.removeEventListener('rotarydetector');
tizen.rotarydetector.stop();
}
}
// Ilova yuklanganda ishga tushirish
document.addEventListener('tizen-rotary-ready', () => {
const nav = new RotaryNavigation();
});RotaryNavigation sinfi tizen.rotarydetector.addEventListener orqali rotarydetector hodisalariga obuna bo'ladi. Ramka aylantirilganda yo'nalish (cw/ccw) va burchak deltasi hisoblanadi. Joriy bo'lim active sinfi bilan ajratib ko'rsatiladi. rotarydetector.start() majburiy — usiz hodisalar yaratilmaydi. destroy() obunani bekor qiladi va xotira oqishining oldini olish uchun detektorni to'xtatadi.
Tizen Watch interfeysi komponentlardan foydalanadi: RotarySelector(ramka boshqariladigan dumaloq ro'yxat), CircularList(dumaloq aylantirish bilan ro'yxat), RadialMenu(bir doira ichida joylashgan piktogrammalar bilan radial menyu), EdgePanel(ekran chetidan sirpanadigan panel) va CircleProgressBar(dumaloq taraqqiyot ko'rsatkichi). Barcha komponentlar 360×360 o'lchamlari uchun optimallashtirilgan va ekran burchaklarining yo'qligini hisobga oladi. Minimal teginish nishoni o'lchami 48 piksel.
Tizen TV — o'z SDK va emulyatori bilan Samsung Smart TV uchun platforma. TV ilovalari ikki turga bo'linadi: veb-ilovalar (HTML5/JS) va mahalliy ilovalar (C/C++). TV uchun veb-ilovalar tezroq va osonroq ishlab chiqiladi, ammo mahalliy ilovalar video va o'yinlar uchun yaxshiroq samaradorlikni ta'minlaydi. Tizen TV navigatsiya uchun D-pad bilan masofadan boshqarish pultidan foydalanadi.
AVPlay API — video ijro etish uchun Tizen TV ning asosiy API sidir. H.264, H.265 (HEVC), VP9, AV1 formatlarini qo'llab-quvvatlaydi. 2024+ TV larda 8K gacha o'lchamlari. AVPlay API apparat dekodlash, HDR10+, Dolby Atmos, subtitrlar va bir nechta audio treklarni ta'minlaydi. play(), pause(), stop(), seekTo(position), setDisplayRect() orqali boshqarish. Oqim mahalliy fayl yoki HLS/DASH URL bo'lishi mumkin.
// AVPlay API bilan Tizen TV uchun video pleyer
class TizenVideoPlayer {
constructor(videoElementId) {
this.videoElement = document.getElementById(videoElementId);
this.avplay = null;
this.isReady = false;
}
async init(url) {
try {
// AVPlay mavjudligini tekshirish
if (typeof webapis === 'undefined' ||
!webapis.avplay) {
throw new Error('AVPlay API mavjud emas');
}
this.avplay = webapis.avplay;
this.avplay.open(url);
// Displeyni to'liq ekran TV ga sozlash
this.avplay.setDisplayRect(0, 0, 3840, 2160);
this.avplay.setDisplayMethod(webapis.avplay.AVPLAY_DISPLAY_METHOD_PLAYER);
// Audio konfiguratsiyasi (Dolby Atmos, qo'llab-quvvatlansa)
this.avplay.setStreamingProperty('ADAPTIVE_INFO', JSON.stringify({
width: 3840,
height: 2160,
bitrate: 25000000
}));
this.avplay.prepareAsync(
() => {
this.isReady = true;
console.log('Video ijroga tayyor');
},
(error) => {
console.error('Tayyorlash xatosi:', error);
}
);
} catch (err) {
console.error('Ishga tushirish xatosi:', err);
}
}
play() {
if (this.isReady) this.avplay.play();
}
pause() {
this.avplay.pause();
}
seekTo(positionMs) {
this.avplay.seekTo(positionMs);
}
setSubtitle(url, encoding) {
this.avplay.setStreamingProperty('SUBTITLE', JSON.stringify({
url: url,
encoding: encoding || 'UTF-8'
}));
}
}
// Foydalanish
const player = new TizenVideoPlayer('video-area');
player.init('https://example.com/stream.m3u8');
player.setSubtitle('https://example.com/subs.vtt', 'UTF-8');TizenVideoPlayer sinfi AVPlay API bilan ishlashni namoyish etadi. webapis.avplay.open() media oqimini (mahalliy yoki HLS/DASH) ochadi. setDisplayRect render maydonini o'rnatadi — TV da odatda 3840×2160 da to'liq ekran. prepareAsync qayta chaqiruvlar bilan asinxron tayyorgarlikdir. AVPlay ADAPTIVE_INFO orqali adaptiv bit tezligini va SUBTITLE xususiyati orqali subtitrlarni qo'llab-quvvatlaydi.
Samsung Galaxy Store — Tizen (soatlar, TV, IoT) uchun rasmiy ilova do'koni. Dasturchi ro'yxatdan o'tishi Samsung Developers dasturi orqali bepul. Dasturchilar Samsung sertifikati bilan imzolangan .tpk (mahalliy) yoki .wgt (veb) formatidagi ilovalarni yuklaydi. Moderatsiya 2-5 ish kunini oladi. Galaxy Store 190 mamlakatda mavjud.
Tizen ilovalar uchun Samsung sertifikati bilan raqamli imzo talab qiladi. Jarayon: Samsung Certificate Manager orqali Muallif Sertifikatini yarating, do'kon uchun Distributor Sertifikatini yarating, Tizen Studio (Build Signed Package) orqali paketni imzolang. Sertifikat dasturchi hisobiga bog'lanadi. Imzosiz ilova faqat Developer Mode yoqilgan dev qurilmalariga o'rnatilishi mumkin.
Galaxy Store pullik ilovalarni (birinchi $10,000 da 30% komissiya, keyin 25%), obunalarni (25%), Samsung Ads orqali reklamani va Samsung IAP orqali ilova ichidagi xaridlarni qo'llab-quvvatlaydi. TV ilovalari uchun Smart TV Premium Channels modeli mavjud. Minimal narx $0.99. $100 chegarasiga erishilganda oylik to'lovlar amalga oshiriladi.
| Talab | Mahalliy (.tpk) | Veb (.wgt) |
|---|---|---|
| Til | C/C++ | HTML5, CSS, JS |
| UI freymvorki | EFL, DALi, Tizen Circle UI | Circle UI (JS) |
| API kirish | To'liq tizim | Device API |
| Samaradorlik | Maksimal | Pastroq (Web Runtime) |
| Paket hajmi | 100 MB gacha | 10 MB gacha |
| Boshlang'ich shablon | Tizen Native App | Tizen Web App |
Tez-tez so'raladigan savollar
Mahalliy ilovalar UI uchun EFL yoki DALi yordamida C/C++ da yoziladi. Veb-ilovalar Tizen Device API bilan HTML5, CSS va JavaScript dan foydalanadi. Tizen TV uchun Tizen .NET orqali .NET (C#) da ishlab chiqish mavjud. Samsung yuqori samaradorlikdagi ilovalar uchun C++ va oddiy interfeyslar uchun JavaScript ni tavsiya qiladi.
Tizen Samsung apparati uchun optimallashtirilgan o'z C/C++ freymvorkidan foydalanadi. Wear OS Kotlin/Java bilan Android ga asoslangan. Tizen bir xil apparatda 30% kam energiya sarflaydi, ammo do'konda kamroq ilovalar mavjud. 2021 yildan boshlab Samsung yangi soatlarda Wear OS ga o'tdi, ammo Tizen qo'llab-quvvatlanmoqda.
Tizen TV uchun veb-ilova Tizen Device API bilan HTML5/JavaScript da yaratiladi. Ishlab chiqish TV emulyatori bilan Tizen Studio da amalga oshiriladi. Ilova .wgt paketiga paketlanadi. Asosiy API lar: AVPlay (video), TVInfoDevice (TV xususiyatlari), TVInputDevice (masofadan boshqarish), WebAudio (ovoz). Masofadan boshqarish pultining D-padi bilan navigatsiya.
Rotary Bezel — navigatsiya uchun Galaxy Watch ekrani atrofidagi fizik aylanadigan halqa. Hodisalar tizen.rotarydetector API orqali qayta ishlanadi. Har bir tishcha aylanish burchagi va yo'nalishi (cw/ccw) bilan hodisa yaratadi. Rotary Bezel ro'yxatlarni aylantirish, ovozni sozlash, yaqinlashtirish va menyu navigatsiyasi uchun ishlatiladi.
Samsung Galaxy Store orqali nashr. Dasturchi ro'yxatdan o'tishi bepul. Ilova (.tpk yoki .wgt formatida) Samsung sertifikati bilan imzolanadi. Moderatsiya 2-5 kun. Birinchi $10,000 daromadda 30% komissiya, keyin 25%. Minimal narx $0.99. $100 dan oylik to'lovlar.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.