Kako dodati klepetalnik Asyntai z UI v DatoCMS
Vodič po korakih za spletne strani, ki jih poganja DatoCMS
Brezglavi CMS: DatoCMS je brezglavi CMS, ki dostavlja vsebino prek API-jev. Kodo klepetalnika je treba dodati v vašo čelno aplikacijo (Next.js, Gatsby, Nuxt itd.), ne na nadzorno ploščo DatoCMS.
Korak 1: Pridobite svojo vdelovalno kodo
Najprej pojdite na svojo Nadzorno ploščo Asyntai in se pomaknite navzdol do razdelka "Vdelovalna koda". Kopirajte svojo edinstveno vdelovalno kodo, ki bo videti takole:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Opomba: Zgornja koda je le primer. Svojo edinstveno vdelovalno kodo morate kopirati iz svoje Nadzorne plošče, saj vsebuje vaš osebni ID klepetalnika.
Korak 2: Dodajte v čelni vmesnik Next.js (najpogosteje)
Next.js je najbolj priljubljen čelni okvir, ki se uporablja z DatoCMS. Dodajte klepetalnik z uporabo komponente Script:
App Router (app/layout.tsx):
- Odprite svojo korensko datoteko postavitve:
app/layout.tsx - Uvozite komponento Script in dodajte klepetalnik:
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>
)
} - Zamenjajte
YOUR_WIDGET_IDs svojim dejanskim ID-jem gradnika - Shranite datoteko in znova zaženite razvojni strežnik
Pages Router (pages/_app.tsx):
- Odprite svojo datoteko
pages/_app.tsx - Dodajte komponento 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"
/>
</>
)
}
Nasvet: Uporaba strategy="afterInteractive" zagotavlja, da se klepetalnik naloži takoj po tem, ko stran postane interaktivna, kar zagotavlja dobro ravnovesje med zmogljivostjo in razpoložljivostjo.
Alternativni način 1: Čelni vmesnik Gatsby
Za strani Gatsby, ki vlečejo vsebino iz DatoCMS prek gatsby-source-datocms:
- Ustvarite ali uredite
gatsby-ssr.jsv korenu projekta: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"
/>
])
} - Zamenjajte
YOUR_WIDGET_IDs svojim dejanskim ID-jem gradnika - Znova zaženite razvojni strežnik Gatsby
Alternativni način 2: Čelni vmesnik Nuxt.js
Za aplikacije Nuxt.js, ki uporabljajo vsebino DatoCMS:
- Dodajte v svojo datoteko
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'
}
]
}
}
}) - Zamenjajte
YOUR_WIDGET_IDs svojim dejanskim ID-jem gradnika - Znova zaženite razvojni strežnik Nuxt
Alternativni način 3: Navaden HTML / statična stran
Če uporabljate API za dostavo vsebine DatoCMS s statično stranjo HTML ali generatorjem statičnih strani:
- Dodajte vdelovalno kodo v svojo datoteko HTML pred zaključno oznako
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Zamenjajte
YOUR_WIDGET_IDs svojim dejanskim ID-jem gradnika - Shranite datoteko in jo naložite na svoje gostovanje
Alternativni način 4: React (Vite/CRA)
Za standardne aplikacije React (Create React App, Vite itd.) z uporabo DatoCMS API:
Možnost A: Dodajte v public/index.html
- Odprite svojo datoteko
public/index.html(CRA) aliindex.html(Vite) - Dodajte vdelovalno kodo pred zaključno oznako
</body>:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Shranite datoteko
Možnost B: useEffect v korenski komponenti
- Ustvarite komponento klepetalnika ali dodajte v svojo korensko 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
} - Uvozite in izrišite komponento v svoji datoteki
App.jsxali korenski postavitvi
Korak 3: Namestite in preverite
Po dodajanju kode klepetalnika na svojo stran, ki jo poganja DatoCMS, namestite ali zaženite razvojni strežnik. Obiščite svojo spletno stran v novem zavihku brskalnika ali oknu brez beleženja. V spodnjem desnem kotu bi morali videti gumb klepetalnika. Kliknite ga, da preverite, ali se pravilno odpre in deluje.
Ne vidite klepetalnika? Prepričajte se, da ste skript dodali v pravilno datoteko za svoj okvir. Preverite razvijalsko konzolo brskalnika za morebitne napake. Če uporabljate izrisovanje na strežniški strani, zagotovite, da se skript izvaja na odjemalski strani. Poskusite počistiti predpomnilnik brskalnika ali si ogledati stran v oknu brez beleženja.
Okoljske spremenljivke: Za boljšo varnost in prilagodljivost razmislite o shranjevanju ID-ja klepetalnika v okoljsko spremenljivko (npr. NEXT_PUBLIC_ASYNTAI_ID za Next.js ali VITE_ASYNTAI_ID za Vite) namesto trde zakodiranosti.
Weebly