Cum să adăugați Chatbot-ul AI Asyntai în DatoCMS
Ghid pas cu pas pentru site-urile bazate pe DatoCMS
CMS Headless: DatoCMS este un CMS headless care livrează conținut prin API-uri. Codul chatbot-ului trebuie adăugat în aplicația dvs. frontend (Next.js, Gatsby, Nuxt, etc.), nu în tabloul de bord DatoCMS.
Pasul 1: Obțineți codul de încorporare
Mai întâi, accesați Tabloul de bord Asyntai și derulați în jos până la secțiunea "Cod de încorporare". Copiați codul unic de încorporare care va arăta astfel:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Notă: Codul de mai sus este doar un exemplu. Trebuie să copiați propriul cod unic de încorporare din Tabloul de bord, deoarece conține ID-ul personal al widgetului dvs.
Pasul 2: Adăugați în frontend-ul Next.js (Cel mai frecvent)
Next.js este cel mai popular framework frontend utilizat cu DatoCMS. Adăugați chatbot-ul folosind componenta Script:
App Router (app/layout.tsx):
- Deschideți fișierul de layout rădăcină:
app/layout.tsx - Importați componenta Script și adăugați chatbot-ul:
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>
)
} - Înlocuiți
YOUR_WIDGET_IDcu ID-ul real al widget-ului dvs. - Salvați fișierul și reporniți serverul de dezvoltare
Pages Router (pages/_app.tsx):
- Deschideți fișierul
pages/_app.tsx - Adăugați componenta Script:
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"
/>
</>
)
}
Sfat: Utilizarea strategy="afterInteractive" asigură că chatbot-ul se încarcă imediat după ce pagina devine interactivă, oferind un echilibru bun între performanță și disponibilitate.
Metoda alternativă 1: Frontend Gatsby
Pentru site-urile Gatsby care preiau conținut din DatoCMS prin gatsby-source-datocms:
- Creați sau editați
gatsby-ssr.jsîn rădăcina proiectului: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"
/>
])
} - Înlocuiți
YOUR_WIDGET_IDcu ID-ul real al widget-ului dvs. - Reporniți serverul de dezvoltare Gatsby
Metoda alternativă 2: Frontend Nuxt.js
Pentru aplicații Nuxt.js care consumă conținut DatoCMS:
- Adăugați în
nuxt.config.ts:export default defineNuxtConfig({
app: {
head: {
script: [
{
src: 'https://asyntai.com/static/js/chat-widget.js',
async: true,
'data-asyntai-id': 'YOUR_WIDGET_ID'
}
]
}
}
}) - Înlocuiți
YOUR_WIDGET_IDcu ID-ul real al widget-ului dvs. - Reporniți serverul de dezvoltare Nuxt
Metoda alternativă 3: HTML simplu / Site static
Dacă utilizați API-ul Content Delivery al DatoCMS cu un site HTML static sau un generator de site-uri statice:
- Adăugați codul de încorporare în fișierul HTML înainte de eticheta de închidere
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Înlocuiți
YOUR_WIDGET_IDcu ID-ul real al widget-ului dvs. - Salvați fișierul și încărcați-l pe hostingul dvs.
Metoda alternativă 4: React (Vite/CRA)
Pentru aplicații React standard (Create React App, Vite) care consumă API-ul DatoCMS:
Opțiunea A: Adăugați în public/index.html
- Deschideți fișierul
public/index.html(CRA) sauindex.html(Vite) - Adăugați codul de încorporare înainte de eticheta de închidere
</body><script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Salvați fișierul
Opțiunea B: useEffect în componenta rădăcină
- Creați o componentă chatbot sau adăugați în componenta rădăcină:
// 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
} - Importați și randați componenta în
App.jsxsau layout-ul rădăcină
Pasul 3: Implementați și verificați
După ce ați adăugat codul chatbot-ului pe site-ul dvs. bazat pe DatoCMS, implementați sau rulați serverul de dezvoltare. Vizitați site-ul dvs. într-o filă nouă de browser sau într-o fereastră incognito. Ar trebui să vedeți butonul widget-ului de chat în colțul din dreapta jos. Faceți clic pe el pentru a vă asigura că se deschide și funcționează corect.
Nu vedeți widgetul? Asigurați-vă că ați adăugat scriptul în fișierul corect pentru framework-ul dvs. Verificați consola de dezvoltare a browserului pentru eventuale erori. Dacă utilizați randare pe server, asigurați-vă că scriptul rulează pe partea de client. Încercați să goliți cache-ul browserului sau să vizualizați într-o fereastră incognito.
Variabile de mediu: Pentru o securitate și flexibilitate mai bune, luați în considerare stocarea ID-ului widget-ului într-o variabilă de mediu (de ex., NEXT_PUBLIC_ASYNTAI_ID pentru Next.js sau VITE_ASYNTAI_ID pentru Vite) în loc să îl codificați direct.
Weebly