Jak dodać chatbota AI Asyntai do DatoCMS
Przewodnik krok po kroku dla stron opartych na DatoCMS
Bezglowy CMS (Headless CMS): DatoCMS to bezglowy CMS, który dostarcza treść przez API. Kod chatbota należy dodać do aplikacji frontendowej (Next.js, Gatsby, Nuxt itp.), a nie do panelu DatoCMS.
Krok 1: Pobierz swój kod osadzania
Najpierw przejdź do swojego Panelu Asyntai i przewiń w dół do sekcji "Kod osadzania". Skopiuj swój unikalny kod osadzania, który będzie wyglądał tak:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Uwaga: Powyższy kod to tylko przykład. Musisz skopiować swój własny unikalny kod osadzania z Panelu, ponieważ zawiera on Twój osobisty identyfikator widgetu.
Krok 2: Dodaj do frontendu Next.js (najczęściej stosowane)
Next.js to najpopularniejszy framework frontendowy używany z DatoCMS. Dodaj chatbota za pomocą komponentu Script:
App Router (app/layout.tsx):
- Otwórz główny plik układu:
app/layout.tsx - Zaimportuj komponent Script i dodaj 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>
)
} - Zamień
YOUR_WIDGET_IDna rzeczywisty identyfikator widgetu - Zapisz plik i zrestartuj serwer deweloperski
Pages Router (pages/_app.tsx):
- Otwórz plik
pages/_app.tsx - Dodaj komponent 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"
/>
</>
)
}
Wskazówka: Użycie strategy="afterInteractive" zapewnia, że chatbot ładuje się zaraz po tym, jak strona stanie się interaktywna, co zapewnia dobra równowagę między wydajnością a dostepnoscia.
Metoda alternatywna 1: Frontend Gatsby
Dla stron Gatsby pobierajacych treść z DatoCMS przez gatsby-source-datocms:
- Utwórz lub edytuj
gatsby-ssr.jsw katalogu głównym 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"
/>
])
} - Zamień
YOUR_WIDGET_IDna rzeczywisty identyfikator widgetu - Zrestartuj serwer deweloperski Gatsby
Metoda alternatywna 2: Frontend Nuxt.js
Dla aplikacji Nuxt.js korzystających z treści DatoCMS:
- Dodaj do swojego
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'
}
]
}
}
}) - Zamień
YOUR_WIDGET_IDna rzeczywisty identyfikator widgetu - Zrestartuj serwer deweloperski Nuxt
Metoda alternatywna 3: Czysty HTML / strona statyczna
Jeśli używasz Content Delivery API DatoCMS ze statyczną stroną HTML lub generatorem stron statycznych:
- Dodaj kod osadzania do pliku HTML przed zamykającym znacznikiem
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Zamień
YOUR_WIDGET_IDna rzeczywisty identyfikator widgetu - Zapisz plik i prześlij na hosting
Metoda alternatywna 4: React (Vite/CRA)
Dla standardowych aplikacji React (Create React App, Vite) korzystających z API DatoCMS:
Opcja A: Dodaj do public/index.html
- Otwórz plik
public/index.html(CRA) lubindex.html(Vite) - Dodaj kod osadzania przed zamykającym znacznikiem
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Zapisz plik
Opcja B: useEffect w komponencie głównym
- Utwórz komponent chatbota lub dodaj do komponentu głównego:
// 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
} - Zaimportuj i wyrenderuj komponent w pliku
App.jsxlub w głównym ukladzie
Krok 3: Wdrożenie i weryfikacja
Po dodaniu kodu chatbota do witryny opartej na DatoCMS, wdróż witrynę lub uruchom serwer deweloperski. Odwiedź swoja stronę w nowej karcie przeglądarki lub w trybie incognito. Przycisk widgetu czatu powinien byc widoczny w prawym dolnym rogu. Kliknij go, aby upewnić sie, ze otwiera sie i działa poprawnie.
Nie widzisz widgetu? Upewnij się, że dodałeś skrypt do właściwego pliku dla swojego frameworka. Sprawdź konsolę deweloperska przeglądarki pod kątem błędów. Jeśli używasz renderowania po stronie serwera, upewnij się, że skrypt uruchamia się po stronie klienta. Spróbuj wyczyść pamięć podręczną przeglądarki lub wyświetlić stronę w oknie incognito.
Zmienne środowiskowe: Dla lepszego bezpieczeństwa i elastyczności rozważ przechowywanie identyfikatora widgetu w zmiennej środowiskowej (np. NEXT_PUBLIC_ASYNTAI_ID dla Next.js lub VITE_ASYNTAI_ID dla Vite) zamiast wpisywania go na stale w kodzie.
Weebly