Asyntai AI -chatbotin lisääminen Sanityyn
Vaiheittainen opas Sanity-pohjaisille verkkosivustoille
Tärkeää: Sanity on headless CMS, joka toimittaa sisältöä API-rajapintojen kautta. Chatbot-koodi on lisättävä frontend-sovellukseesi (Next.js, Gatsby, Nuxt, tavallinen HTML jne.), ei itse Sanity Studioon.
Vaihe 1: Hanki upotuskoodisi
Siirry ensin Asyntai-hallintapaneeliin ja vieritä alas "Upotuskoodi"-osioon. Kopioi yksilöllinen upotuskoodisi, joka näyttää tältä:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Huomautus: Yllä oleva koodi on vain esimerkki. Sinun on kopioitava oma yksilöllinen upotuskoodisi Hallintapaneelistasi, sillä se sisältää henkilökohtaisen widget-tunnuksesi.
Vaihe 2: Lisää Next.js-frontendiin (yleisin)
Jos Sanity-pohjainen sivustosi käyttää Next.js:ää (yleisin yhdistelmä), lisää chatbot juuripohjatiedostoosi:
App Router (Next.js 13+)
Avaa app/layout.js (tai app/layout.tsx) ja lisää Script-komponentti:
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
Jos käytät Pages Routeria, avaa 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"
/>
</>
)
}
Vinkki: Asetus strategy="afterInteractive" varmistaa, että chatbot latautuu sivun tultua interaktiiviseksi, mikä tarjoaa parhaan käyttökokemuksen vaikuttamatta sivun lataussuorituskykyyn.
Vaihtoehtoinen tapa 1: Gatsby-frontend
Jos Sanity-sivustosi käyttää Gatsbya, lisää skripti gatsby-ssr.js-tiedoston kautta:
// 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"
/>
]);
};
Huomautus: Sinun on myös lisättävä sama koodi gatsby-browser.js-tiedostoon, jos haluat widgetin pysyvän asiakaspuolen navigoinnin aikana. Vaihtoehtoisesti voit lisätä sen juuripohjakomponenttiisi.
Vaihtoehtoinen tapa 2: Nuxt.js-frontend
Jos Sanity-sivustosi käyttää Nuxt.js:ää, lisää skripti nuxt.config.js-tiedostoon (tai 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
}
]
}
}
})
Vaihtoehtoinen menetelmä 3: Tavallinen HTML-frontend
Jos Sanity-pohjainen sivustosi käyttää tavallista HTML:ää tai staattista sivustogeneraattoria, joka kuluttaa Sanity API:a:
- Avaa pää-HTML-tiedostosi (yleensä index.html)
- Lisää upotuskoodi juuri ennen sulkevaa </body>-tagia:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
</body>
</html>
Vaihtoehtoinen menetelmä 4: React (Vite tai Create React App)
Jos frontendisi käyttää Reactia Viten tai Create React Appin kanssa:
Lisää skripti index.html-tiedostoon public/-hakemistossa:
<!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>
Tai käytä useEffect-hookia juurikomponentissasi:
// 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
);
}
Vaihe 3: Julkaise ja vahvista
Kun olet lisännyt koodin frontend-sovellukseesi:
- Julkaise frontendisi hosting-palveluntarjoajallesi (Vercel, Netlify jne.)
- Avaa live-sivustosi uudessa selaimen välilehdessä
- Chat-widget-painikkeen pitäisi näkyä oikeassa alakulmassa
- Napsauta sitä varmistaaksesi, että se avautuu ja toimii oikein
Etkö näe widgetiä? Varmista, että olet korvannut YOUR_WIDGET_ID todellisella widget-tunnuksellasi hallintapaneelista. Tarkista, että skripti latautuu selaimen Network-välilehdessä (F12 > Network). Varmista, että frontend on julkaistu uudelleen koodin lisäämisen jälkeen. Next.js:ssä varmista, että käytät Script-komponenttia paketista next/script, et tavallista <script>-tagia. Tyhjennä selaimen välimuisti tai testaa incognito-tilassa.
Weebly