İlk Presence'ınızı Oluşturma
CLI ile yeni bir Nowly presence'ı oluşturun ve ilk Discord Rich Presence etkinliğinizi gönderin.
CLI ile Başlayın
Yeni bir presence iskeletlemek için Nowly CLI'yi kullanın:
nowly init "Example"CLI, meta veri, bir presence betiği ve gerekli varlıkları oluşturur.
Temel Presence Kodu
Presence ve Assets, runtime tarafından sağlanır - bkz. Presence API ve Assets.
document, standart tarayıcı DOM API'sidir ve presence'lar uzantıda content script olarak çalıştığı için kullanılabilir.
@nowly/sdk'den yalnızca PresenceType (ve createMediaTimestamps gibi diğer yardımcılar) içe aktarılmalıdır.
import { PresenceType } from "@nowly/sdk"
const presence = new Presence()
presence.on("UpdateData", async () => {
await presence.setActivity({
details: document.title,
state: document.location.hostname,
largeImageKey: Assets.Logo,
type: PresenceType.Watching,
})
})Çalışma Zamanı Akışı
Kullanıcı eşleşen bir URL'yi ziyaret ettiğinde Nowly presence'ınızı yükler. Presence, sayfa durumunu okur ve setActivity'yi çağırır. Uzantı, bu yükü Discord'u güncelleyen Nowly Host'a iletir.
Geliştirme Döngüsü
İskeletleme
Presence klasörünü, meta verileri ve gerekli varlıkları oluşturur.
nowly init "Example"İskeletleme
Presence klasörünü, meta verileri ve gerekli varlıkları oluşturur.
nowly init "Example"Yapılandırma
Adı, yazarı, desteklenen URL'leri, kategoriyi, rengi, yerelleştirilmiş açıklamaları ve Discord platformu zaten destekliyorsa discordNative'i ayarlayın.
metadata.json dosyasını düzenleyin - mevcut tüm alanlar için bkz. Metadata.
Yapılandırma
Adı, yazarı, desteklenen URL'leri, kategoriyi, rengi, yerelleştirilmiş açıklamaları ve Discord platformu zaten destekliyorsa discordNative'i ayarlayın.
metadata.json dosyasını düzenleyin - mevcut tüm alanlar için bkz. Metadata.
Uygulama
Presence SDK'sını kullanarak presence mantığını yazın.
import { PresenceType } from "@nowly/sdk"
const presence = new Presence()
presence.on("UpdateData", async () => {
await presence.setActivity({
details: document.title,
largeImageKey: Assets.Logo,
type: PresenceType.Watching,
})
})Uygulama
Presence SDK'sını kullanarak presence mantığını yazın.
import { PresenceType } from "@nowly/sdk"
const presence = new Presence()
presence.on("UpdateData", async () => {
await presence.setActivity({
details: document.title,
largeImageKey: Assets.Logo,
type: PresenceType.Watching,
})
})Doğrulama
Meta veri yapınızın doğru olduğunu ve varlıkların yerinde olduğunu kontrol edin.
nowly validateDoğrulama
Meta veri yapınızın doğru olduğunu ve varlıkların yerinde olduğunu kontrol edin.
nowly validateDerleme
Presence'ı bağımsız bir pakete derler.
nowly build exampleDerleme
Presence'ı bağımsız bir pakete derler.
nowly build exampleYükleme
Derlenen presence'ı tarayıcıya kurun. İki yöntem: önceden derlenmiş bir uzantı veya bir zip bırakma.
Tam karşılaştırma için bkz. Yerel Olarak Yükleme ve Test Etme.
İlk kez (tarayıcıda Nowly yok): presence'ı hazır bir uzantıya gömün.
nowly extension examplechrome://extensions adresinde dist/extension-dev klasörünü paketlenmemiş olarak yükleyin.
Nowly zaten paketlenmemiş olarak yüklüyse: bir zip paketleyin ve Ayarlar → Gelişmiş → Hata Ayıklama'ya bırakın. Mağaza kurulumları imzasız zip'leri reddeder.
nowly pack exampleYükleme
Derlenen presence'ı tarayıcıya kurun. İki yöntem: önceden derlenmiş bir uzantı veya bir zip bırakma.
Tam karşılaştırma için bkz. Yerel Olarak Yükleme ve Test Etme.
İlk kez (tarayıcıda Nowly yok): presence'ı hazır bir uzantıya gömün.
nowly extension examplechrome://extensions adresinde dist/extension-dev klasörünü paketlenmemiş olarak yükleyin.
Nowly zaten paketlenmemiş olarak yüklüyse: bir zip paketleyin ve Ayarlar → Gelişmiş → Hata Ayıklama'ya bırakın. Mağaza kurulumları imzasız zip'leri reddeder.
nowly pack exampleTest Etme
Hedef web sitesini açın - presence otomatik olarak etkinleşir.
Siteyi ziyaret edin
Test Etme
Hedef web sitesini açın - presence otomatik olarak etkinleşir.
Siteyi ziyaret edin
Her kod değişikliğinden sonra Uygulama → Derleme → Yükleme adımlarını tekrarlayın.