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." }
AlanKural
platformsisteğe bağlı; windows, macos, linux, android değerlerinden oluşan dizi. Alan yoksa uzantı her platformu destekler.
platformNoteisteğ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: false ve platformBlockedBy: [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

İstekDöner
GET storeHer 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