Integracja z Firebase
Połącz Akendor ze swoim projektem Firebase: artykuły zapisują się jako dokumenty w kolekcji Firestore, a obrazy w Cloud Storage. Idealne dla witryn i aplikacji headless.
Ustawienia połączenia
Kolekcja Firestore
Wpisz nazwę kolekcji (na przykład articles), w której Akendor będzie zapisywać artykuły.
Folder Firebase Storage
Wskaż folder w zasobniku Firebase Storage, do którego będą przesyłane obrazy artykułów. Zasobnik jest opcjonalny: jeśli go nie podasz, zostanie użyty domyślny zasobnik projektu.
Konto usługi
Aby Akendor mógł zapisywać w twoim projekcie, potrzebny jest plik JSON konta usługi.
Konto usługi skonfigurowane i chronione
Dane dostępowe są ukryte ze względów bezpieczeństwa.
Import JSON
Akendor przyjmuje cały plik JSON konta usługi: nie musisz wyodrębniać kluczy pojedynczo.
- W konsoli Firebase otwórz Ustawienia projektu > Konta usługi.
- Wygeneruj i pobierz nowy klucz prywatny (plik JSON).
- W Akendor przejdź do Ustawienia > Integracja z Firebase, kliknij „Pokaż JSON” i wklej zawartość pliku.
Cosa scrive Akendor nel tuo Firestore
Quando pubblichi, Akendor scrive nella tua collezione un documento per ogni articolo, con i nomi dei campi in inglese. Qui sotto un esempio reale con tutti i campi. Usa i campi di testo e l'array paragraphs per costruire la pagina e ignora quelli che non ti servono.
{
"slug": "managing-generalized-anxiety",
"title": "How to manage generalized anxiety",
"subtitle": "Practical strategies and clinical insights",
"summary": "Generalized anxiety calls for a multifactorial approach...",
"category": "Mental health",
"language": "en",
"status": "pubblicato",
"articleDate": "Timestamp(2026-06-19T10:14:00Z)",
"lastUpdate": "Timestamp(2026-06-21T08:02:11Z)",
"image": "https://cdn.example.com/img/anxiety-cover.webp",
"readingTime": 7,
"wordCount": "1450",
"seoTitle": "How to manage generalized anxiety in 2026",
"metaDescription": "A complete guide to managing generalized anxiety...",
"keyword": "generalized anxiety",
"seoScore": 82,
"seoAudit": {
"analyzedAt": "2026-06-19T10:14:30.000Z",
"scores": { "onPage": 84, "readability": 78, "links": 70, "transitionWords": 80, "sentenceLength": 85, "readingTime": 90, "activeVoice": 75, "tone": 88 },
"strengths": ["Clear focus on one search intent"],
"weaknesses": ["Few links to other articles of the site"],
"suggestions": ["Add two internal links in the second section"],
"tips": ["Shorten the meta description to 155 characters"]
},
"embeddingVector": "Vector(768)",
"tableOfContents": ["What anxiety is", "Physical symptoms"],
"keyPoints": ["Anxiety is a natural mechanism", "Breathing helps reduce tension"],
"takeaways": ["Recognize the physical signals before they grow"],
"paragraphs": [
{
"id": "5074accf-3949-4945-8ae0-525e20c99de6",
"heading": "What anxiety is",
"content": "<p>Generalized anxiety disorder...</p>",
"image": "",
"practicalInsight": {
"type": "attenzione",
"boxTitle": "Watch for physical signals",
"points": ["Sudden racing heart", "Muscle tension"]
}
}
],
"faq": [
{ "question": "How long does an anxiety attack last?", "answer": "Usually between 10 and 30 minutes..." }
],
"externalReferences": [
{ "title": "pubmed.ncbi.nlm.nih.gov", "url": "https://pubmed.ncbi.nlm.nih.gov/..." }
],
"remoteDocId": "7Hq2xYb0n5LwEJc9TfRa"
}Da sapere
articleDate e lastUpdate sono Timestamp di Firestore. seoScore è il punteggio SEO da 0 a 100, calcolato alla pubblicazione, e seoAudit ne contiene il dettaglio (punti di forza e aree da migliorare). embeddingVector è il vettore che Akendor usa per trovare articoli simili: se non ti serve, ignoralo. I valori di status e practicalInsight.type sono codici fissi (pubblicato; consiglio, mito, esempio, attenzione). remoteDocId è l'identificativo del documento nella tua collezione.Chronione dane dostępowe
JSON jest szyfrowany (AES-GCM) przed wysłaniem na nasze serwery. Akendor używa go wyłącznie do zapisu we wskazanej kolekcji i folderze.
Uwaga o widoczności
Ta konfiguracja jest widoczna tylko wtedy, gdy na karcie Generowanie w ustawieniach wybrano „Firebase” jako platformę witryny.