Az Asyntai AI Chatbot hozzáadása a DatoCMS-hez
Lépésről lépésre útmutató DatoCMS alapú webhelyekhez
Headless CMS: A DatoCMS egy headless CMS, amely API-kon keresztül biztosítja a tartalmat. A chatbot kódot a frontend alkalmazáshoz (Next.js, Gatsby, Nuxt stb.) kell hozzáadni, nem a DatoCMS irányítópulthoz.
1. lépés: Szerezze be a beágyazási kódját
Először lépjen az Asyntai Irányítópultra és görgessen le a „Beágyazási kód" szekcióhoz. Másolja le az egyedi beágyazási kódját, amely így fog kinézni:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Megjegyzés: A fenti kód csak egy példa. Le kell másolnia saját egyedi beágyazási kódját az Irányítópultról, mivel az tartalmazza személyes widget-azonosítóját.
2. lépés: Hozzáadás a Next.js frontendhez (leggyakoribb)
A Next.js a legnépszerűbb frontend keretrendszer, amelyet a DatoCMS-sel használnak. Adja hozzá a chatbotot a Script komponens segítségével:
App Router (app/layout.tsx):
- Nyissa meg a gyökér elrendezési fájlt:
app/layout.tsx - Importálja a Script komponenst, és adja hozzá a chatbotot:
import Script from 'next/script'
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Script
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
strategy="afterInteractive"
/>
</body>
</html>
)
} - Cserélje ki a
YOUR_WIDGET_IDértékét a tényleges widget azonosítójára az irányítópultról - Mentse el a fájlt, és indítsa újra a fejlesztői szervert
Pages Router (pages/_app.tsx):
- Nyissa meg a
pages/_app.tsxfájlt - Adja hozzá a Script komponenst:
import Script from 'next/script'
import type { AppProps } from 'next/app'
export default function App({ Component, pageProps }: AppProps) {
return (
<>
<Component {...pageProps} />
<Script
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
strategy="afterInteractive"
/>
</>
)
}
Tipp: A strategy="afterInteractive" használata biztosítja, hogy a chatbot közvetlenül azután töltődjön be, hogy az oldal interaktívvá válik, jó egyensúlyt teremtve a teljesítmény és az elérhetőség között.
Alternatív 1. módszer: Gatsby frontend
A gatsby-source-datocms-en keresztül DatoCMS-ből tartalmat húzó Gatsby webhelyek esetén:
- Hozza létre vagy szerkessze a
gatsby-ssr.jsfájlt a projekt gyökerében:import React from 'react'
export const onRenderBody = ({ setPostBodyComponents }) => {
setPostBodyComponents([
<script
key="asyntai-chatbot"
async
src="https://asyntai.com/static/js/chat-widget.js"
data-asyntai-id="YOUR_WIDGET_ID"
/>
])
} - Cserélje ki a
YOUR_WIDGET_IDértékét a tényleges widget azonosítójára az irányítópultról - Indítsa újra a Gatsby fejlesztői szervert
Alternatív 2. módszer: Nuxt.js frontend
DatoCMS tartalmat fogyasztó Nuxt.js alkalmazásokhoz:
- Adja hozzá a
nuxt.config.tsfájlhoz:export default defineNuxtConfig({
app: {
head: {
script: [
{
src: 'https://asyntai.com/static/js/chat-widget.js',
async: true,
'data-asyntai-id': 'YOUR_WIDGET_ID'
}
]
}
}
}) - Cserélje ki a
YOUR_WIDGET_IDértékét a tényleges widget azonosítójára az irányítópultról - Indítsa újra a Nuxt fejlesztői szervert
Alternatív 3. módszer: Egyszerű HTML / Statikus webhely
Ha a DatoCMS Content Delivery API-ját statikus HTML webhellyel vagy statikus webhely generátorral használja:
- Adja hozzá a beágyazási kódot a HTML fájlhoz a záró
</body>tag elé:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Cserélje ki a
YOUR_WIDGET_IDértékét a tényleges widget azonosítójára az irányítópultról - Mentse el a fájlt, és töltse fel a tárhelyére
Alternatív 4. módszer: React (Vite/CRA)
DatoCMS API-t használó szabványos React alkalmazásokhoz (Create React App, Vite):
A lehetőség: Hozzáadás a public/index.html fájlhoz
- Nyissa meg a
public/index.htmlfájlt (CRA) vagy azindex.htmlfájlt (Vite) - Adja hozzá a beágyazási kódot a záró
</body>tag elé:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Mentse el a fájlt
B lehetőség: useEffect a gyökér komponensben
- Hozzon létre egy chatbot komponenst, vagy adja hozzá a gyökér komponenshez:
// components/Chatbot.jsx
import { useEffect } from 'react'
export default function Chatbot() {
useEffect(() => {
const script = document.createElement('script')
script.src = 'https://asyntai.com/static/js/chat-widget.js'
script.async = true
script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID')
document.body.appendChild(script)
return () => document.body.removeChild(script)
}, [])
return null
} - Importálja és renderje a komponenst az
App.jsxfájlban vagy a gyökér elrendezésben
3. lépés: Telepítés és ellenőrzés
Miután hozzáadta a chatbot kódját a DatoCMS alapú webhelyéhez, telepítse vagy futtassa a fejlesztői szervert. Látogasson el webhelyére egy új böngészőlapon vagy inkognitóablakban. A jobb alsó sarokban meg kell jelennie a chat widget gombnak. Kattintson rá, hogy megbizonyosodjon arról, hogy megfelelően nyílik meg és működik.
Nem látja a widgetet? Győződjön meg arról, hogy a szkriptet a keretrendszerének megfelelő fájlhoz adta hozzá. Ellenőrizze a böngésző fejlesztői konzolját hibák szempontjából. Ha szerver oldali renderelést használ, győződjön meg arról, hogy a szkript az ügyfél oldalon fut. Próbálja meg üríteni a böngésző gyorsítótárát, vagy nézze meg inkognitóablakban.
Környezeti változók: A jobb biztonság és rugalmasság érdekében fontolja meg a widget azonosítójának környezeti változóban való tárolását (pl. NEXT_PUBLIC_ASYNTAI_ID Next.js esetén vagy VITE_ASYNTAI_ID Vite esetén) a közvetlen beírás helyett.
Weebly