Обратно към таблото

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

Научете как да използвате Asyntai

Как да добавите Asyntai AI чатбот към Sanity

Ръководство стъпка по стъпка за уебсайтове, задвижвани от Sanity

Вземете код за вграждане

Важно: Sanity е headless CMS, който доставя съдържание чрез API-та. Кодът на чатбота трябва да бъде добавен към вашето фронтенд приложение (Next.js, Gatsby, Nuxt, обикновен HTML и др.), а не към самото Sanity Studio.

Стъпка 1: Вземете вашия код за вграждане

Първо отидете на вашето Табло за управление на Asyntai и превъртете надолу до секцията "Код за вграждане". Копирайте уникалния си код за вграждане, който ще изглежда така:

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

Забележка: Кодът по-горе е само пример. Трябва да копирате собствения си уникален код за вграждане от вашето Табло за управление, тъй като съдържа вашия личен ID на уиджета.

Стъпка 2: Добавете към Next.js Frontend (Най-често срещано)

Ако вашият сайт, задвижван от Sanity, използва Next.js (най-честата комбинация), добавете чатбота към основния си layout:

App Router (Next.js 13+)

Отворете app/layout.js (или app/layout.tsx) и добавете компонента Script:

import Script from 'next/script' export default function RootLayout({ children }) { return ( <html lang="en"> <body> {children} <Script src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID" strategy="afterInteractive" /> </body> </html> ) }

Pages Router

Ако използвате Pages Router, отворете pages/_app.js:

import Script from 'next/script' export default function MyApp({ Component, pageProps }) { 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 Frontend

Ако вашият Sanity сайт използва Gatsby, добавете скрипта чрез gatsby-ssr.js:

// gatsby-ssr.js import React from 'react' export const onRenderBody = ({ setPostBodyComponents }) => { setPostBodyComponents([ <script key="asyntai" async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID" /> ]); };

Забележка: Трябва също да добавите същия код в gatsby-browser.js, ако искате уиджетът да се запази при клиентска навигация. Алтернативно, добавете го към основния layout компонент.

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

Ако вашият Sanity сайт използва Nuxt.js, добавете скрипта в nuxt.config.js (или nuxt.config.ts):

// nuxt.config.ts export default defineNuxtConfig({ app: { head: { script: [ { src: 'https://asyntai.com/static/js/chat-widget.js', 'data-asyntai-id': 'YOUR_WIDGET_ID', async: true } ] } } })

Алтернативен метод 3: Обикновен HTML фронтенд

Ако вашият сайт, задвижван от Sanity, използва обикновен HTML или генератор на статични сайтове, ползващ Sanity API:

  1. Отворете основния си HTML файл (обикновено index.html)
  2. Добавете кода за вграждане точно преди затварящия таг </body>:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body> </html>

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

Ако вашият фронтенд използва React с Vite или Create React App:

Добавете скрипта в index.html в директорията public/:

<!DOCTYPE html> <html lang="en"> <head> <!-- ... existing head content ... --> </head> <body> <div id="root"></div> <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> </body> </html>

Или използвайте useEffect хук в основния си компонент:

// App.jsx or App.tsx import { useEffect } from 'react'; function App() { useEffect(() => { const script = document.createElement('script'); script.src = 'https://asyntai.com/static/js/chat-widget.js'; script.setAttribute('data-asyntai-id', 'YOUR_WIDGET_ID'); script.async = true; document.body.appendChild(script); return () => { document.body.removeChild(script); }; }, []); return ( // ... your app content ); }

Стъпка 3: Разгърнете и проверете

След като добавите кода към вашето фронтенд приложение:

  1. Разгърнете фронтенда си при вашия хостинг доставчик (Vercel, Netlify и др.)
  2. Отворете живия си сайт в нов раздел на браузъра
  3. Трябва да видите бутона на чат уиджета в долния десен ъгъл
  4. Щракнете върху него, за да се уверите, че се отваря и функционира правилно

Не виждате уиджета? Уверете се, че сте заменили YOUR_WIDGET_ID с вашия действителен идентификатор на уиджет от таблото за управление. Проверете дали скриптът се зарежда в раздела Network на браузъра (F12 > Network). Потвърдете, че фронтендът е бил деплойнат отново след добавяне на кода. За Next.js се уверете, че използвате компонента Script от next/script, а не обикновен <script> таг. Изчистете кеша на браузъра или тествайте в режим инкогнито.