Meta Veri
Bir Nowly presence metadata.json dosyasındaki her gerekli ve isteğe bağlı alanı belgeleyin.
Gerekli Alanlar
Her presence şunlara ihtiyaç duyar:
| Alan | Tür | Açıklama | Varsayılan |
|---|---|---|---|
name* | string | Hizmetin veya platformun görünen adı. | - |
author* | object | Kitaplıkta ve OG görsellerinde ilk gösterilen ana yazar. | - |
description* | object | Yerel ayara göre anahtarlanmış kısa yerelleştirilmiş açıklamalar. | - |
url* | string[] | Sayfa eşleştirme için desteklenen alan adları veya URL kalıpları. | - |
color* | string | UI ve gömülü içerikler tarafından kullanılan hex formatında marka rengi. | - |
category* | string | streaming, music, video, social, gaming, tools, ai, learning, creator veya other'dan biri. | - |
Örnek
{
"name": "YouTube",
"author": {
"name": "Nowly Developer",
"github": "example"
},
"url": ["youtube.com", "www.youtube.com"],
"color": "#FF0033",
"category": "streaming",
"description": {
"en-US": "Watch and share videos on YouTube."
}
}Yazar ve Katkıda Bulunanlar
author- Kitaplıkta ve OG görsellerinde ilk gösterilen ana bakımcı.contributors- Presence'a yardımcı olan diğer kişiler.
GitHub kullanıcı adları (github anahtarı) avatarları çözümlemek için kullanılır.
Açıklamalar ve Özellikler
description- Yerel ayara göre anahtarlanmış kısa pazar yeri metni.longDescription- Ayrıntı sayfaları için genişletilmiş açıklama.features- Desteklenen davranışların (örn. buton desteği, medya tuşları) yerelleştirilmiş listesi.
Discord Yerel Desteği
Bazı platformlar, kullanıcı hesabını bağladığında Discord'da zaten görünür (Spotify buna tipik bir örnektir). Kitaplığın, o bağlantı olmadan da Nowly'nin hâlâ yararlı olduğunu açıklayabilmesi için bu isteğe bağlı bayrağı ayarlayın.
| Alan | Tür | Açıklama | Varsayılan |
|---|---|---|---|
discordNative | boolean | Kullanıcı hesabını bağladığında Discord bu platformu zaten gösteriyorsa true. İsteğe bağlı. Varsayılan olarak false. | - |
{
"name": "Spotify",
"discordNative": true
}Bu yalnızca kitaplık sayfasında ve uzantıda (mağaza ve kurulu presence ayrıntılarında) bir bilgi notu gösterir. Kurulumu engellemez.
URL Eşleştirme
url- Sayfa eşleştirme için desteklenen alan adları veya URL kalıpları.regExp- Karmaşık URL kalıpları için regex tabanlı eşleştirme.
regExp'i yalnızca basit url eşleştirmesi yeterli olmadığında kullanın. Açık alan adı listelerini tercih edin.
Yürütme Bağlamı
İki isteğe bağlı alan, presence betiğinizin tarayıcıda nasıl ve ne zaman çalıştığını kontrol eder.
| Alan | Tür | Açıklama | Varsayılan |
|---|---|---|---|
world | "main" | "isolated" | Yürütme dünyası. Varsayılan olarak isolated. | - |
runAt | "document_start" | "document_end" | "document_idle" | Betiğin ne zaman enjekte edildiği. Varsayılan olarak document_idle. | - |
Varsayılan olarak bir presence isolated dünyada çalışır: sayfa DOM'unu paylaşır ama sayfanın JavaScript bağlamını paylaşmaz. Bu güvenli varsayılandır ve hemen hemen her presence için işe yarar.
Presence'ınızın sayfa bağlamına ihtiyaç duyduğu durumlarda, özellikle şunlar için "world": "main" ayarlayın:
- sayfa globallerini okumak (örn. sitenin
windowüzerinde sunduğu bir player nesnesi); - kullanıcının oturum çerezlerini taşıması gereken aynı kaynaklı, kimlik doğrulamalı bir
fetchyapmak (örn. bir sitenin dahili meta veri API'si).
{
"name": "Netflix",
"url": ["netflix.com", "www.netflix.com"],
"world": "main",
"color": "#E50914",
"category": "streaming",
"description": {
"en-US": "Watch movies and series on Netflix."
}
}İzole dünyadan yapılan bir fetch, birinci taraf isteği olarak değerlendirilmez, bu yüzden kimlik doğrulamalı çağrılar sessizce başarısız olur. Presence'ınız sitenin oturum açmış API'sine bağlıysa "world": "main" ayarlamanız gerekir.
Bildirim tamamen metadata.json içinde yer alır - uzantı bunu kayıt sırasında okur. Yeni bir sayfa bağlamlı presence eklemek için uzantıda herhangi bir değişikliğe gerek yoktur.
Kategori
İzin verilen kategoriler streaming, music, video, social, gaming, tools, ai, learning, creator ve other'dır.