Asyntai AI Chatbot'u DatoCMS'e Nasıl Eklersiniz
DatoCMS destekli web siteleri için adım adım kılavuz
Headless CMS: DatoCMS, içeriği API'ler aracılığıyla sunan bir headless CMS'dir. Chatbot kodu, DatoCMS kontrol paneline değil, frontend uygulamanıza (Next.js, Gatsby, Nuxt vb.) eklenmelidir.
Adım 1: Yerleştirme Kodunuzu Alın
Önce Asyntai Dashboard'unuza gidin ve "Yerleştirme Kodu" bölümüne inin. Şuna benzeyen benzersiz yerleştirme kodunuzu kopyalayın:
<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script>
Not: Yukarıdaki kod yalnızca bir örnektir. Kişisel widget kimliğinizi içerdiğinden, kendi benzersiz yerleştirme kodunuzu Dashboard'unuzdan kopyalamanız gerekir.
Adım 2: Next.js Frontend'e Ekleyin (En Yaygın)
Next.js, DatoCMS ile kullanılan en popüler frontend framework'tür. Script bileşenini kullanarak chatbot'u ekleyin:
App Router (app/layout.tsx):
- Kök düzen dosyanızı açın:
app/layout.tsx - Script bileşenini içe aktarın ve chatbot'u ekleyin:
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>
)
} YOUR_WIDGET_IDkısmını gerçek widget kimliğinizle değiştirin- Dosyayı kaydedin ve geliştirme sunucunuzu yeniden başlatın
Pages Router (pages/_app.tsx):
pages/_app.tsxdosyanızı açın- Script bileşenini ekleyin:
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"
/>
</>
)
}
İpucu: strategy="afterInteractive" kullanmak, chatbot'un sayfa etkileşimli hale geldikten hemen sonra yüklenmesini sağlayarak performans ve kullanılabilirlik arasında iyi bir denge sunar.
Alternatif Yöntem 1: Gatsby Frontend
gatsby-source-datocms aracılığıyla DatoCMS'den içerik çeken Gatsby siteleri için:
- Proje kök dizininizde
gatsby-ssr.jsdosyasını oluşturun veya düzenleyin: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"
/>
])
} YOUR_WIDGET_IDkısmını gerçek widget kimliğinizle değiştirin- Gatsby geliştirme sunucunuzu yeniden başlatın
Alternatif Yöntem 2: Nuxt.js Frontend
DatoCMS içeriği kullanan Nuxt.js uygulamaları için:
nuxt.config.tsdosyanıza ekleyin:export default defineNuxtConfig({
app: {
head: {
script: [
{
src: 'https://asyntai.com/static/js/chat-widget.js',
async: true,
'data-asyntai-id': 'YOUR_WIDGET_ID'
}
]
}
}
})YOUR_WIDGET_IDkısmını gerçek widget kimliğinizle değiştirin- Nuxt geliştirme sunucunuzu yeniden başlatın
Alternatif Yöntem 3: Düz HTML / Statik Site
DatoCMS'nin Content Delivery API'sini statik bir HTML sitesi veya statik site oluşturucu ile kullanıyorsanız:
- Yerleştirme kodunu HTML dosyanızda kapanış
</body>etiketinin öncesine ekleyin:<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> YOUR_WIDGET_IDkısmını gerçek widget kimliğinizle değiştirin- Dosyayı kaydedin ve barındırma hizmetinize yükleyin
Alternatif Yöntem 4: React (Vite/CRA)
DatoCMS API'sini kullanan standart React uygulamaları (Create React App, Vite vb.) için:
Seçenek A: public/index.html dosyasına ekleyin
public/index.htmldosyanızı (CRA) veyaindex.htmldosyanızı (Vite) açın- Kapanış
</body>etiketinden önce gömme kodunu ekleyin<script async src="https://asyntai.com/static/js/chat-widget.js" data-asyntai-id="YOUR_WIDGET_ID"></script> - Dosyayı kaydedin
Seçenek B: Kök bileşende useEffect kullanımı
- Bir chatbot bileşeni oluşturun veya kök bileşeninize ekleyin:
// 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
} - Bileşeni
App.jsxveya kök düzeninize içe aktarın ve render edin
Adım 3: Dağıtın ve Doğrulayın
Chatbot kodunu DatoCMS destekli sitenize ekledikten sonra dağıtın veya geliştirme sunucunuzu çalıştırın. Web sitenizi yeni bir tarayıcı sekmesinde veya gizli pencerede ziyaret edin. Sağ alt köşede sohbet widget düğmesini görmelisiniz. Açıldığından ve düzgün çalıştığından emin olmak için tıklayın.
Widget'ı göremiyor musunuz? Komut dosyasını framework'ünüz için doğru dosyaya eklediğinizden emin olun. Tarayıcınızın geliştirici konsolunda hata olup olmadığını kontrol edin. Sunucu tarafı render kullanıyorsanız, komut dosyasının istemci tarafında çalıştığından emin olun. Tarayıcı önbelleğinizi temizlemeyi veya gizli pencerede görüntülemeyi deneyin.
Ortam Değişkenleri: Daha iyi güvenlik ve esneklik için widget kimliğinizi sabit kodlamak yerine bir ortam değişkeninde (ör. Next.js için NEXT_PUBLIC_ASYNTAI_ID veya Vite için VITE_ASYNTAI_ID) saklamayı düşünün.
Weebly