原生集成
Firebase 集成
将 Akendor 连接到你的 Firebase 项目:文章以文档形式保存在你的 Firestore 集合中,图片保存在你的 Cloud Storage 中。非常适合 headless 网站和应用。
连接设置
Firestore 集合
输入 Akendor 保存文章的集合名称(例如 articles)。
Firebase Storage 文件夹
指定 Firebase Storage 存储桶中用于上传文章图片的文件夹。存储桶为可选项:如未指定,将使用项目的默认存储桶。
服务账号
要让 Akendor 写入你的项目,需要提供你的 服务账号 JSON 文件。
服务账号已配置并受保护
出于安全考虑,凭据已隐藏。
导入 JSON
Akendor 接受完整的服务账号 JSON 文件:无需逐个提取密钥。
- 在 Firebase 控制台中打开项目设置 > 服务账号。
- 生成并下载新的私钥(JSON 文件)。
- 在 Akendor 中进入“设置 > Firebase 集成”,点击“显示 JSON”并粘贴文件内容。
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.
firestore_article.json
Documento Firestore
{
"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.凭据受保护
JSON 在发送到我们的服务器之前会被加密(AES-GCM)。Akendor 只用它写入你指定的集合和文件夹。
可见性说明
只有在设置的生成标签中选择“Firebase”作为网站平台时,此配置才会显示。