Skip to content

SDK API ​

@corevo-ds/app-sdk app'in içinde çalışır ve host (cihaz istemcisi, panel önizlemesi veya corevo dev) ile bridge protokolü üzerinden konuşur. Framework gerektirmez.

bash
npm install @corevo-ds/app-sdk
ts
import { Corevo } from '@corevo-ds/app-sdk';

Eski cihazlar için @corevo-ds/app-sdk/legacy tek dosyalık ES5 sürümdür ve global Corevo tanımlar. API aynıdır.

Corevo.ready ​

ts
const ctx = await Corevo.ready();
// veya
await Corevo.ready(async (ctx) => {
  await preloadFonts();
  render(ctx.params);
});

ready, host'un init mesajı uygulanınca çözülür ve Context döner: instance_id, app, params, locale, device, files, media, data, capabilities, preview. Callback verirseniz host'a "hazırım" mesajı callback (ve döndürdüğü Promise) bitince gider; böylece ilk kare hazır olmadan ekran açılmaz. Callback 10 sn'de bitmezse SDK yine hazır bildirir. ready() hiç çağrılmazsa init'ten 3 sn sonra SDK kendisi bildirir.

ctx.preview panel önizlemesinde ve corevo dev'de true'dur.

Corevo.params ​

ts
Corevo.params.get('title');        // tek değer
Corevo.params.all();               // tüm değerler
const off = Corevo.params.on((next) => render(next));
off();                             // dinleyiciyi kaldır

on mevcut değeri hemen vermez; yalnız sonraki güncellemeleri verir. Değer biçimleri: Parametre tipleri.

Corevo.media ​

ts
const url = Corevo.media.url(Corevo.params.get('image') as string); // string | null

Medya kimliğini (string veya sayı) cihazdaki adrese çevirir. Haritada olmayan kimlik, boş string ve sayı olmayan değer null döner. file parametreleri için Corevo.files.url(paramKey) de vardır.

Corevo.data ​

ts
import type { WeatherV1 } from '@corevo-ds/manifest';

const weather = Corevo.data.get<WeatherV1>('weather');       // son snapshot veya null
const off = Corevo.data.on<WeatherV1>('weather', (next) => render(next));

Anahtar bir dataset parametresinin key değeri veya data.providers[].id (weather) değeridir. data yeteneği gerekir; veri sağlayıcı bildiren app'e bu yetenek örtük verilir. Yetenek yoksa çağrı capability_denied hatası fırlatır. Ayrıntı: Veri kaynakları.

Corevo.track ve Corevo.page ​

ts
Corevo.track('cta_click', { label: 'Detaylar' });
Corevo.page('menu');
Corevo.init({ autoTrack: false });
  • track(name, props?) özel bir etkileşim olayı gönderir. track yeteneği gerekir.
  • page(name) sayfa görüntüleme olayı (corevo.page_view) ister. Olay yalnız açık bir etkileşim oturumunda gider; oturum yokken sayfa adı hatırlanır. Çok ekranlı app'te her ekran değişiminde çağırın.
  • init({ autoTrack: false }) otomatik olayları ve page'i kapatır; track çalışmaya devam eder.

Ad ve props kuralları, otomatik olayların listesi: Etkileşim olayları.

Dil: Corevo.i18n ve locale olayı ​

ts
Corevo.i18n.locale;                          // "tr" | "en"
Corevo.i18n.t({ tr: 'Merhaba', en: 'Hello' });
Corevo.on('locale', (locale) => rerender(locale));

Dil host'tan gelir; app dili kendisi değiştiremez. t aktif dili, yoksa tr'yi, o da yoksa '' döner.

Görünürlük: show / hide ​

ts
Corevo.on('hide', () => pauseVideoAndTimers());
Corevo.on('show', () => resume());

App playlist veya kampanyada sırası gelmediğinde arka planda bekletilebilir. hide gelince video, animasyon ve zamanlayıcıları durdurun; show ile devam edin. Şablon bunun bir örneğini içerir.

Depolama: Corevo.storage ​

ts
await Corevo.storage.set('last_seen', Date.now());
const value = await Corevo.storage.get('last_seen'); // yoksa null
await Corevo.storage.remove('last_seen');

Tarayıcı localStorage kullanılamaz (sandbox). Depolama bridge üzerinden cihazda tutulur ve storage yeteneği ister. Kota örnek başına 1 MB'tır; aşan set quota_exceeded ile reddedilir. İstek 10 sn'de yanıtlanmazsa timeout ile reddedilir. Sınırlar: Güvenlik modeli.

Diğerleri ​

APIYetenekNot
Corevo.live.on(event, cb) / offlive.subscribePaneldeki canlı kumanda (controls) olayları
Corevo.live.send(event, payload)live.upCihazdan sunucuya olay
Corevo.actions.sendMail({ to, subject, body })actions.mailSunucu üzerinden e-posta
Corevo.device—init sonrası cihaz bilgisi (saat dilimi dahil)
Corevo.version—SDK sürümü

Hatalar ​

Reddedilen Promise bir Error olur; code alanı capability_denied, timeout, message_too_large, protocol_mismatch, invalid_argument, failed veya host'tan gelen bir koddur (ör. depolamada quota_exceeded). Yakalanmayan hatalar host'a da raporlanır ve corevo dev logunda görünür.