Назад на контролну таблу

Документација

Научите како да користите Asyntai

Како додати Asyntai АИ четбот у DatoCMS

Водич корак по корак за веб-сајтове покретане DatoCMS-ом

Преузмите код за уградњу

Безглави CMS: DatoCMS је безглави CMS који испоручује садржај путем API-ја. Код четбота треба додати у вашу фронтенд апликацију (Next.js, Gatsby, Nuxt итд.), а не на DatoCMS контролну таблу.

Корак 1: Набавите свој код за уграђивање

Прво, идите на своју Asyntai контролну таблу и померите се до одељка „Код за уграђивање". Копирајте свој јединствени код за уграђивање који ће изгледати овако:

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

Напомена: Код изнад је само пример. Морате копирати свој јединствени код за уграђивање са своје Контролне табле јер садржи ваш лични ИД виџета.

Корак 2: Додајте у Next.js фронтенд (најчешће)

Next.js је најпопуларнији фронтенд фрејмворк који се користи са DatoCMS-ом. Додајте четбот користећи Script компоненту:

App Router (app/layout.tsx):

  1. Отворите свој основни фајл распореда: app/layout.tsx
  2. Увезите Script компоненту и додајте четбот:
    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. Замените YOUR_WIDGET_ID стварним ИД-ом виџета
  4. Сачувајте фајл и рестартујте развојни сервер

Pages Router (pages/_app.tsx):

  1. Отворите свој pages/_app.tsx фајл
  2. Додајте 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"
          />
        </>
      )
    }

Савет: Коришћење strategy="afterInteractive" осигурава да се четбот учитава одмах након што страница постане интерактивна, обезбеђујући добар баланс између перформанси и доступности.

Алтернативни метод 1: Gatsby фронтенд

За Gatsby сајтове који повлаче садржај из DatoCMS-а путем gatsby-source-datocms:

  1. Креирајте или уредите gatsby-ssr.js у корену пројекта:
    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. Замените YOUR_WIDGET_ID стварним ИД-ом виџета
  3. Рестартујте свој Gatsby развојни сервер

Алтернативни метод 2: Nuxt.js фронтенд

За Nuxt.js апликације које конзумирају DatoCMS садржај:

  1. Додајте у свој 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. Замените YOUR_WIDGET_ID стварним ИД-ом виџета
  3. Рестартујте свој Nuxt развојни сервер

Алтернативни метод 3: Чист HTML / статички сајт

Ако користите DatoCMS Content Delivery API са статичким HTML сајтом или генератором статичких сајтова:

  1. Додајте код за уграђивање у свој HTML фајл пре затварајуће </body> ознаке:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Замените YOUR_WIDGET_ID стварним ИД-ом виџета
  3. Сачувајте фајл и отпремите на свој хостинг

Алтернативни метод 4: React (Vite/CRA)

За стандардне React апликације (Create React App, Vite) које користе DatoCMS API:

Опција А: Додајте у public/index.html

  1. Отворите свој public/index.html фајл (CRA) или index.html (Vite)
  2. Додајте код за уградњу пре затварајуће ознаке </body>:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Сачувајте фајл

Опција Б: useEffect у коренској компоненти

  1. Креирајте компоненту четбота или додајте у коренску компоненту:
    // 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. Увезите и рендерујте компоненту у свом App.jsx или коренском распореду

Корак 3: Деплојујте и верификујте

Након додавања кода четбота на ваш сајт покретан DatoCMS-ом, деплојујте или покрените развојни сервер. Посетите веб-сајт у новој картици претраживача или инкогнито прозору. Требало би да видите дугме виџета за ћаскање у доњем десном углу. Кликните на њега да бисте се уверили да се отвара и исправно ради.

Не видите виџет? Уверите се да сте додали скрипту у тачан фајл за свој фрејмворк. Проверите развојну конзолу претраживача за евентуалне грешке. Ако користите рендеровање на серверској страни, осигурајте да скрипта ради на клијентској страни. Покушајте да обришете кеш претраживача или прегледате у инкогнито прозору.

Променљиве окружења: За бољу безбедност и флексибилност, размислите о чувању ИД-а виџета у променљивој окружења (нпр. NEXT_PUBLIC_ASYNTAI_ID за Next.js или VITE_ASYNTAI_ID за Vite) уместо да га тврдо кодирате.