Grįžti į valdymo skydą

Dokumentacija

Sužinokite, kaip naudoti Asyntai

Kaip pridėti Asyntai DI pokalbių robotą prie DatoCMS

Žingsnis po žingsnio vadovas DatoCMS valdomoms svetainėms

Gauti įterpimo kodą

Beantgalinė TVS: DatoCMS yra beantgalinė TVS, teikianti turinį per API. Pokalbių roboto kodą reikia pridėti prie sąsajos programos (Next.js, Gatsby, Nuxt ir kt.), o ne prie DatoCMS valdymo skydelio.

1 žingsnis: Gaukite savo įterpimo kodą

Pirma, eikite į savo Asyntai valdymo skydelį ir slinkite žemyn iki "Įterpimo kodas" skyriaus. Nukopijuokite savo unikalų įterpimo kodą, kuris atrodys taip:

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

Pastaba: Aukščiau pateiktas kodas yra tik pavyzdys. Turite nukopijuoti savo unikalų įterpimo kodą iš savo Valdymo skydelio, nes jame yra jūsų asmeninis valdiklio ID.

2 žingsnis: Pridėkite prie Next.js sąsajos (Dažniausias)

Next.js yra populiariausia sąsajos sistema, naudojama su DatoCMS. Pridėkite pokalbių robotą naudodami Script komponentą:

App Router (app/layout.tsx):

  1. Atidarykite pagrindinį išdėstymo failą: app/layout.tsx
  2. Importuokite Script komponentą ir pridėkite pokalbių robotą:
    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. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID
  4. Išsaugokite failą ir paleiskite kūrimo serverį iš naujo

Pages Router (pages/_app.tsx):

  1. Atidarykite savo pages/_app.tsx failą
  2. Pridėkite Script komponentą:
    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"
          />
        </>
      )
    }

Patarimas: Naudojant strategy="afterInteractive" užtikrinama, kad pokalbių robotas krausis iš karto po to, kai puslapis taps interaktyvus, suteikdamas gerą balansą tarp našumo ir prieinamumo.

Alternatyvus metodas 1: Gatsby sąsaja

Gatsby svetainėms, traukiančioms turinį iš DatoCMS per gatsby-source-datocms:

  1. Sukurkite arba redaguokite gatsby-ssr.js projekto šaknyje:
    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. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID
  3. Paleiskite Gatsby kūrimo serverį iš naujo

Alternatyvus metodas 2: Nuxt.js sąsaja

Nuxt.js programėlėms, naudojančioms DatoCMS turinį:

  1. Pridėkite prie savo 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. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID
  3. Paleiskite Nuxt kūrimo serverį iš naujo

Alternatyvus metodas 3: Paprastas HTML / Statinė svetainė

Jei naudojate DatoCMS Content Delivery API su statine HTML svetaine ar statinių svetainių generatoriumi:

  1. Pridėkite įterpimo kodą prie savo HTML failo prieš uždaromąjį </body> žymą:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  2. Pakeiskite YOUR_WIDGET_ID savo tikruoju valdiklio ID
  3. Išsaugokite failą ir įkelkite į savo prieglobą

Alternatyvus metodas 4: React (Vite/CRA)

Standartinėms React programėlėms (Create React App, Vite), naudojančioms DatoCMS API:

Variantas A: Pridėkite prie public/index.html

  1. Atidarykite savo public/index.html failą (CRA) arba index.html (Vite)
  2. Pridėkite įterpimo kodą prieš uždaromąjį </body> žymą:
    <script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
  3. Išsaugokite failą

Variantas B: useEffect pagrindiniame komponente

  1. Sukurkite pokalbių roboto komponentą arba pridėkite prie savo šakninio komponento:
    // 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. Importuokite ir atvaizduokite komponentą savo App.jsx arba pagrindiniame išdėstyme

3 žingsnis: Įdiekite ir patikrinkite

Pridėję pokalbių roboto kodą prie DatoCMS valdomos svetainės, įdiekite arba paleiskite kūrimo serverį. Apsilankykite svetainėje naujame naršyklės skirtuke arba inkognito lange. Turėtumėte matyti pokalbių valdiklio mygtuką apatiniame dešiniajame kampe. Spustelėkite jį, kad įsitikintumėte, jog jis atsidaro ir veikia teisingai.

Nematote valdiklio? Įsitikinkite, kad pridėjote skriptą į tinkamą failą savo sistemai. Patikrinkite naršyklės kūrėjo konsolę dėl klaidų. Jei naudojate serverio pusės atvaizdavimą, įsitikinkite, kad skriptas vykdomas kliento pusėje. Pabandykite išvalyti naršyklės talpyklą arba peržiūrėkite inkognito lange.

Aplinkos kintamieji: Geresniam saugumui ir lankstumui apsvarstykite galimybę saugoti valdiklio ID aplinkos kintamajame (pvz., NEXT_PUBLIC_ASYNTAI_ID Next.js arba VITE_ASYNTAI_ID Vite) vietoj tiesioginio įrašymo kode.