Späť na panel

Dokumentácia

Naučte sa používať Asyntai

Ako pridať Asyntai AI chatbota do DatoCMS

Návod krok za krokom pre webové stránky poháňané DatoCMS

Získať vkladací kód

Headless CMS: DatoCMS je headless CMS, ktory doručuje obsah cez API. Kod chatbota je potrebne pridat do vasej frontendovej aplikacie (Next.js, Gatsby, Nuxt atd.), nie do dashboardu DatoCMS.

Krok 1: Získajte svoj vkladací kód

Najprv prejdite na svoj Asyntai Dashboard a prejdite nadol k sekcii „Vkladací kód“. Skopírujte svoj jedinečný vkladací kód, ktorý bude vyzerať takto:

<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>

Poznámka: Kód vyššie je len príklad. Musíte skopírovať svoj vlastný jedinečný vkladací kód zo svojho Dashboardu, pretože obsahuje vaše osobné ID widgetu.

Krok 2: Pridanie do frontendu Next.js (najbežnejšie)

Next.js je najpopularnejsi frontendovy framework používaný s DatoCMS. Pridajte chatbota pomocou komponentu Script:

App Router (app/layout.tsx):

  1. Otvorte svoj korenovy súbor rozloženia: app/layout.tsx
  2. Importujte komponent Script a pridajte 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>
      )
    }
  3. Nahraďte YOUR_WIDGET_ID vaším skutočným ID widgetu
  4. Uložte súbor a restartujte svoj vývojový server

Pages Router (pages/_app.tsx):

  1. Otvorte svoj súbor pages/_app.tsx
  2. Pridajte 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"
          />
        </>
      )
    }

Tip: Použitie strategy="afterInteractive" zabezpeci, ze sa chatbot nacita hned po tom, co sa stranka stane interaktivnou, co poskytuje dobru rovnovahu medzi vykonom a dostupnostou.

Alternativna metoda 1: Frontend Gatsby

Pre stránky Gatsby cerpajuce obsah z DatoCMS cez gatsby-source-datocms:

  1. Vytvorte alebo upravte gatsby-ssr.js v koreni vasho 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"
        />
      ])
    }
  2. Nahraďte YOUR_WIDGET_ID vaším skutočným ID widgetu
  3. Restartujte svoj vývojový server Gatsby

Alternativna metoda 2: Frontend Nuxt.js

Pre aplikácie Nuxt.js spotrebúvajúce obsah DatoCMS:

  1. Pridajte do svojho 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'
            }
          ]
        }
      }
    })
  2. Nahraďte YOUR_WIDGET_ID vaším skutočným ID widgetu
  3. Restartujte svoj vývojový server Nuxt

Alternatívna metóda 3: Čisté HTML / Statická stránka

Ak používate Content Delivery API od DatoCMS so statickou HTML stránkou alebo generatorom statickych stránok:

  1. Pridajte vkladací kod do vasho HTML súboru pred uzatvaraci tag </body>:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Nahraďte YOUR_WIDGET_ID vaším skutočným ID widgetu
  3. Uložte súbor a nahrajte na vas hosting

Alternativna metoda 4: React (Vite/CRA)

Pre štandardné React aplikácie (Create React App, Vite) používajúce DatoCMS API:

Možnosť A: Pridat do public/index.html

  1. Otvorte svoj súbor public/index.html (CRA) alebo index.html (Vite)
  2. Pridajte vkladací kod pred uzatvaraci tag </body>:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Uložte súbor

Možnosť B: useEffect v korenovom komponente

  1. Vytvorte komponent chatbota alebo pridajte do svojho korenoveho komponentu:
    // 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
    }
  2. Importujte a vykreslete komponent vo vasom App.jsx alebo korenovom rozložení

Krok 3: Nasadenie a overenie

Po pridani kodu chatbota na vasu stránku pohananu DatoCMS nasadte alebo spustite svoj vývojový server. Navštívte svoju webovú stránku v novej karte prehliadača alebo v okne inkognito. Mali by ste vidiet tlačidlo chatoveho widgetu v pravom dolnom rohu. Kliknite nan, aby ste sa uistili, ze sa otvara a funguje správne.

Nevidíte widget? Uistite sa, ze ste pridali skript do spravneho súboru pre vas framework. Skontrolujte vyvojarsku konzolu vasho prehliadača kvoli pripadnym chybam. Ak používate serverove vykreslovanie, uistite sa, ze skript bezi na strane klienta. Skuste vyčistiť vyrovnávaciu pamat prehliadača alebo zobrazit web v okne inkognito.

Premenne prostredia: Pre lepšiu bezpecnost a flexibilitu zvazite uloženie vasho ID widgetu do premennej prostredia (napr. NEXT_PUBLIC_ASYNTAI_ID pre Next.js alebo VITE_ASYNTAI_ID pre Vite) namiesto jeho priameho zapisania do kodu.