Jak přidat Asyntai AI Chatbota na DatoCMS
Průvodce krok za krokem pro weby postavené na DatoCMS
Headless CMS: DatoCMS je headless CMS, který dodává obsah přes API. Kód chatbota je potřeba přidat do vaší frontendové aplikace (Next.js, Gatsby, Nuxt atd.), nikoli do dashboardu DatoCMS.
Krok 1: Získejte svůj vkládací kód
Nejprve přejděte na svůj Asyntai Dashboard a přejděte dolů k sekci „Embed Code". Zkopírujte svůj unikátní kód pro vložení, který bude vypadat takto:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Poznámka: Kód výše je pouze příklad. Musíte zkopírovat svůj vlastní unikátní kód pro vložení z vašeho Dashboardu, protože obsahuje vaše osobní ID widgetu.
Krok 2: Přidání do Next.js frontendu (nejběžnější)
Next.js je nejpopulárnější frontend framework používaný s DatoCMS. Přidejte chatbota pomocí komponenty Script:
App Router (app/layout.tsx):
- Otevřete svůj kořenový layout soubor:
app/layout.tsx - Importujte komponentu Script a přidejte chatbota:
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>
)
} - Nahraďte
YOUR_WIDGET_IDsvým skutečným ID widgetu - Uložte soubor a restartujte vývojový server
Pages Router (pages/_app.tsx):
- Otevřete soubor
pages/_app.tsx - Přidejte komponentu 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"
/>
</>
)
}
Tip: Použití strategy="afterInteractive" zajistí, že se chatbot načte hned poté, co se stránka stane interaktivní, což poskytuje dobrý kompromis mezi výkonem a dostupností.
Alternativní metoda 1: Gatsby frontend
Pro Gatsby weby čerpající obsah z DatoCMS přes gatsby-source-datocms:
- Vytvořte nebo upravte
gatsby-ssr.jsv kořenovém adresáři projektu: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"
/>
])
} - Nahraďte
YOUR_WIDGET_IDsvým skutečným ID widgetu - Restartujte vývojový server Gatsby
Alternativní metoda 2: Nuxt.js frontend
Pro aplikace Nuxt.js využívající obsah DatoCMS:
- Přidejte do svého
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'
}
]
}
}
}) - Nahraďte
YOUR_WIDGET_IDsvým skutečným ID widgetu - Restartujte vývojový server Nuxt
Alternativní metoda 3: Čisté HTML / statický web
Pokud používáte Content Delivery API DatoCMS se statickým HTML webem nebo generátorem statických webů:
- Přidejte embed kód do svého HTML souboru před uzavírací značku
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Nahraďte
YOUR_WIDGET_IDsvým skutečným ID widgetu - Uložte soubor a nahrajte na hosting
Alternativní metoda 4: React (Vite/CRA)
Pro standardní React aplikace (Create React App, Vite atd.) používající DatoCMS API:
Možnost A: Přidání do public/index.html
- Otevřete soubor
public/index.html(CRA) neboindex.html(Vite) - Přidejte embed kód před uzavírací značku
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Uložte soubor
Možnost B: useEffect v kořenové komponentě
- Vytvořte komponentu chatbota nebo přidejte do kořenové komponenty:
// 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
} - Importujte a vykreslete komponentu ve svém
App.jsxnebo kořenovém rozvržení
Krok 3: Nasazení a ověření
Po přidání kódu chatbota na váš web postavený na DatoCMS proveďte nasazení nebo spusťte vývojový server. Navštivte svůj web v nové záložce prohlížeče nebo v anonymním okně. V pravém dolním rohu byste měli vidět tlačítko chatovacího widgetu. Klikněte na něj a ověřte, že se správně otevírá a funguje.
Nevidíte widget? Ujistěte se, že jste skript přidali do správného souboru pro váš framework. Zkontrolujte vývojářskou konzoli prohlížeče, zda nejsou chyby. Pokud používáte server-side rendering, zajistěte, aby se skript spouštěl na straně klienta. Zkuste vymazat mezipaměť prohlížeče nebo zobrazit stránku v anonymním okně.
Proměnné prostředí: Pro lepší zabezpečení a flexibilitu zvažte uložení ID widgetu do proměnné prostředí (např. NEXT_PUBLIC_ASYNTAI_ID pro Next.js nebo VITE_ASYNTAI_ID pro Vite) namísto jeho pevného zadání do kódu.
Weebly