Nuvaka › Geliştirici belgeleri › Platform uyumluluğu
Platform uyumluluğu
Nuvaka Windows, macOS, Linux ve Android'de çalışır. Uzantıların çoğu her yerde çalışır; bir özelliğin yalnız bazı platformlarda olduğu durumlarda (ör. picture-in-picture masaüstündedir) bunu manifestte bildirirsin. Mağaza uyumsuz cihazda uyarır, uygulama da otomatik güncellemeyi durdurur.
Manifest
"platforms": ["windows", "macos", "linux"],
"platformNote": { "tr": "Yüzen pencere masaüstü gerektirir.", "en": "The floating window needs a desktop." }
| Alan | Kural |
|---|---|
platforms | isteğe bağlı; windows, macos, linux, android değerlerinden oluşan dizi. Alan yoksa uzantı her platformu destekler. |
platformNote | isteğe bağlı; { tr, en }, her biri en çok 300 karakter. Neden sınırlı olduğunu anlatır; mağaza detayında görünür. |
Kullanıcı ne görür
- Kurulum engellenmez. Uyumsuz cihazda mağaza "Bu sürüm bu cihazda çalışmayabilir" uyarısı ve
platformNote'u gösterir. - Mağazada "Yalnız bu cihaza uygun olanlar" süzgeci vardır.
- Yeni sürüm kullanıcının platformunu desteklemiyorsa uygulama onu otomatik güncellemez; güncellemeyi uyarıyla gösterir.
Bağımlılık kuralı
Uzantın, zorunlu doğrudan bağımlılıklarının (uses ya da extends) desteklediği platformların dışına çıkamaz:
- Etkin küme
platforms'tur; alan yoksa "tüm platformlar" sayılır. - Bu küme, aralıkta seçilen bağımlılık sürümünün platformlarının alt kümesi olmalıdır. Değilse yayın reddedilir:
400 platform_exceeds_dependency — <bağımlılık> yalnız [...] destekler. - İsteğe bağlı bağımlılıklar denetlenmez; olmadıkları platformda kodun onları yok saymalı.
- Eklentiler (Uygulama içi mağaza) ana uygulamanın platformlarının alt kümesinde olmalıdır.
- Bir bağımlılık sonradan bir platformu bırakırsa kurulum ve güncelleme engellenmez; detayda
platformSupported: falseveplatformBlockedBy: [bağımlılık id]döner, uygulama uyarır.
Pratikte: platform sınırı olan bir kütüphaneye bağımlıysan kendi platforms alanını da aynı ya da daha dar yaz.
Mağaza API'si
| İstek | Döner |
|---|---|
GET store | Her kartta platforms (null = hepsi) |
GET store?platform=<p> | Ayrıca her kartta platformSupported. &platformOnly=true uyumsuzları listeden çıkarır. |
GET store/{id}?platform=<p> | platforms, platformNote, platformSupported, gerekirse platformBlockedBy |
GET store/{id}/dependencies?platform=<p> | Her bağımlılık düğümünde platforms ve platformSupported |
GET updates?platform=<p> | Her öğede platforms ve incompatible. incompatible: true ise hedef sürüm bu platformda çalışmaz; otomatik güncelleme yapılmaz. |
Çalışma anında
Platforma bağlı çağrılar desteklenmeyen yerde hata döner; örneğin nuvaka.ui.pip Android'de unsupported verir. Böyle bir özelliği isteğe bağlı tutmak istiyorsan platforms alanını daraltmak yerine hatayı yakala ve özelliği gizle.
Nuvaka Apps API v1 · son güncelleme 2026-09-28