Her uzantının, kullanıcılara uzantının ne işe yaradığını ve nasıl kullanılacağını öğreten bir dokümanı olmalıdır.
Gerekli olan minimum doküman, aşağıdaki üç Markdown dosyasından oluşur:
PREINSTALL.mdPOSTINSTALL.mdCHANGELOG.md
Ayrıca şunları da üretmeyi düşünebilirsiniz:
- Uzantının herkese açık deposu için bir
READMEdosyası. - Kendi web sitenizde yayınlanan ve
PREINSTALL.mdsayfanızda bağlantısı verilen daha uzun eğitimler, kılavuzlar ve referanslar
En iyi uygulamalardan bazılarını, yaygın ifadeleri ve yapıyı öğrenmek için resmi Firebase uzantılarla sunulan dosyaları incelemenizi öneririz.
BENİOKU dosyası oluşturma
Uzantı dizininiz isteğe bağlı olarak bir README dosyası içerebilir. firebase ext:dev:init komutunun sizin için otomatik olarak bir tane oluşturmadığını unutmayın.
Ancak Firebase KSA, extension.yaml dosyanızdan ve PREINSTALL.md dosyanızdan alınan içeriği barındıran bir README dosyasını otomatik olarak üretmek için aşağıdaki kolaylık komutunu destekler:
firebase ext:info ./path/to/extension --markdown > README.md
Resmi Firebase uzantılar için tüm README dosyaları bu komut kullanılarak oluşturulur.
Kurulum bilgileri ekleme
README dosyası yazdıktan veya oluşturduktan sonra yükleme bilgilerini ekleyin. Aşağıdaki snippet'i şablon olarak kullanabilirsiniz:
--- ## 🧩 Install this extension ### Console [][install-link] [install-link]: https://console.firebase.google.com/project/_/extensions/install?ref=publisher_id/extension_name ### Firebase CLI ```bash firebase ext:install publisher_id/extension_name --project=[your-project-id] ``` > Learn more about installing extensions in the Firebase Extensions documentation: > [console](https://firebase.google.com/docs/extensions/install-extensions?platform=console), > [CLI](https://firebase.google.com/docs/extensions/install-extensions?platform=cli) ---
PREINSTALL dosyası yazılıyor
PREINSTALL dosyası, uzantınızın genel bakışıdır ve bir tür "pazarlama" sayfasıdır.
Bu dosyada hangi içerikler var?
- Uzantınızın işlevinin kapsamlı açıklaması
- Veritabanı kurulumu veya Google dışı bir hizmete erişim gibi ön koşulların listesi (örnek)
- Kurulum öncesi görevlerin kısa bir açıklaması ve talimatları
- Yükleme sonrası görevlerin kısa açıklaması
(örnek)
(ayrıntılı talimatlar
POSTINSTALLbölümünde yer alır) - Faturalandırmayla ilgili tüm etkilerin kısa açıklaması (standart metin ile başlayın)
Bu içerik kullanıcıya nerede gösterilir?
Firebase console">
Firebase konsolu">
- extensions.dev adresindeki uzantı sayfasında.
- Uzantınızın kaynak kodu deposu (uzantı dizininin içinde)
- Uzantının README dosyasının bir parçası olarak (Firebase CLI
işaretini kullanıyorsanız)--markdown > README.md
PREINSTALL dosyaları, uzantının parametre değerlerine erişemez. Bu nedenle, parametre referanslarının gerçek değerlerle oluşturulmasını beklememelisiniz.
Bu durumda önerilen en iyi uygulamalara örnekler verebilir misiniz?
- Mümkünse
PREINSTALLdosyasının tüm içeriğini bir sayfadan az tutun. - Uzantıyı yüklemeden önce son kullanıcının mutlaka bilmesi gereken ayrıntıları sağlayın.
- Ayrıntılı talimatları
POSTINSTALLdosyasına veya diğer ek dosyalara ekleyin. - Uzantıyı desteklemek için başka araçlar veya komut dosyaları sağlıyorsanız kısaca bahsedin.
POSTINSTALL dosyası yazılıyor
POSTINSTALL dosyası, uzantınızın yükleme sonrası ayrıntılı talimat sayfasıdır.
Bu dosyada hangi içerikler var?
- Firebase güvenlik kurallarını ayarlama veya istemci tarafı kodu ekleme gibi gerekli yükleme sonrası görevler için ayrıntılı talimatlar (örnek)
- Yüklenen uzantıyı hemen denemeyle ilgili genel talimatlar (ör. "Konsola gidin ve şunu yapın")
- Uzantının nasıl tetikleneceğiyle ilgili temel bilgiler (özellikle HTTP isteğiyle tetiklenen uzantılar için)
- Yüklü uzantının nasıl izleneceğine dair kısa talimatlar (standart metinle başlayın)
Bu içerik kullanıcıya nerede gösterilir?
Firebase console">
Firebase konsolu">
Kullanıcı uzantınızı yükledikten sonra Firebase konsolunda (yüklü uzantının ayrıntı kartında)
- Uzantınızı gerçek bir projeye yükleyerek
POSTINSTALLiçeriğinin görünümünü inceleyin.
- Uzantınızı gerçek bir projeye yükleyerek
Uzantınızın kaynak kodu deposu (uzantı dizininin içinde)
POSTINSTALL dosyaları, uzantıyla ilgili parametre değerlerine ve işleve bağlı çeşitli değişkenlere erişebilir. POSTINSTALL içeriği Firebase konsolunda gösterildiğinde, parametre veya değişken referansları yerine gerçek değerler gösterilir. POSTINSTALL dosyanızda parametre ve değişkenlere nasıl referans vereceğiniz hakkında daha fazla bilgiyi aşağıda bulabilirsiniz.
Bu durumda önerilen en iyi uygulamalara örnekler verebilir misiniz?
POSTINSTALLdosyasının tüm içeriğini kısa ve öz, ancak açıklayıcı tutun.- Farklı görevleri veya kavramları ayırmak için başlıklar kullanarak içeriği bölümlere ayırın.
- Belirli bir iş akışı veya görevle ilgili ayrıntılı talimatları web sitenizde (örnek) ya da uzantı deposundaki ek Markdown dosyalarında (örnek) yayınlayabilirsiniz.
- Kullanıcının yapılandırılmış değerlerini talimatlar bağlamında görmesi için referans parametreleri ve işlevle ilgili değişkenleri kullanın.
Parametrelere ve değişkenlere referans verme
Yükleme işleminden sonra Firebase konsolu, uzantının POSTINSTALL dosyasının içeriğini gösterir. POSTINSTALL dosyanızda parametrelere ve işlevle ilgili değişkenlere (aşağıdaki tabloya bakın) referans verirseniz konsol, bu referansları yüklü örneğin gerçek değerleriyle doldurur.
POSTINSTALL dosyasında yapılandırılmış parametre değerlerine şu söz dizimini kullanarak erişin: ${param:PARAMETER_NAME}
Ayrıca, yalnızca POSTINSTALL dosyanızda işlevle ilgili aşağıdaki değişkenlere de başvurabilirsiniz. Firebase, yükleme sonrasında kullanıcılarınıza daha kolay rehberlik edebilmeniz için bu değişkenleri destekler. Bu değişkenlerin değerleri yükleme işleminden sonra kullanılabilir hale geldiğinden, değişkenler yalnızca POSTINSTALL dosyasında kullanılabilir.
Bu tabloda function-name, extension.yaml içindeki işlevin kaynak nesnesinde bulunan name alanının değeridir.
| İşlevle ilgili değişken için referans | Açıklama | Değişken değeri (Uzantı yüklendikten sonra Firebase tarafından otomatik olarak doldurulur) |
|---|---|---|
${function:function-name.location}
|
||
| İşlevin dağıtıldığı konum |
Örnek değer:us-central1
|
|
${function:function-name.name}
|
||
| Uzantının örnek kimliğini içeren, dağıtılan son işlevin adı |
Genelleştirilmiş biçim:
Örnek değer: |
|
${function:function-name.url}
(yalnızca HTTP işlevleri için geçerlidir)
|
||
| İstemci kodunun HTTP istekleri gönderebileceği, dağıtılan nihai işlevin URL'si |
Genelleştirilmiş biçim:
Örnek değer: |
|
Uzantıların nasıl tetikleneceğini belgeleme
Uzantınızın kullanıcı belgelerinde, kullanıcılarınıza uzantınızı nasıl tetikleyeceklerini açıklamanız gerekir. Bu talimatlar, gerekli olduğunu düşündüğünüz kadar ayrıntılı olabilir ancak POSTINSTALL dosyası yazmayla ilgili en iyi uygulamaları göz önünde bulundurun.
Bu talimatların nasıl sağlanacağıyla ilgili bilgi edinmek için uzantınızla ilgili aşağıdaki bölümü genişletin.
CHANGELOG dosyası yazma
Bu dosyada hangi içerikler var?
Her uzantıda, yayınladığınız her yeni sürümde yapılan değişiklikleri belgeleyen bir CHANGELOG.md dosyası bulunmalıdır. Her sürümü 2. düzey başlığın (##) altına yerleştirin. Bunun dışında istediğiniz Markdown biçimlendirmesini kullanabilirsiniz.
Aşağıdaki örnek, resmi uzantılardan birinden alınmış bir alıntıdır:
## Version 0.1.3 feature - Support deletion of directories (issue #148). ## Version 0.1.2 feature - Add a new param for recursively deleting subcollections in Cloud Firestore (issue #14). fixed - Fixed "cold start" errors experienced when the extension runs after a period of inactivity (issue #48). ## Version 0.1.1 Initial release of the _Delete User Data_ extension.
Bu içerik kullanıcıya nerede gösterilir?
- Firebase konsolunda ve KSA'da, kullanıcılar uzantınızın yeni sürümlerine yükselttiğinde. Firebase konsolu ve CLI, yalnızca kullanıcı yükseltme işlemini tamamlarsa geçerli olacak değişiklikleri gösterir.
- Uzantınızın kaynak kodu deposu (uzantı dizininin içinde).