กลับไปที่แดชบอร์ด

เอกสาร

เรียนรู้วิธีใช้ Asyntai

ฟีเจอร์
การรวบรวมข้อมูลเว็บไซต์ ช่องว่างความรู้ การ์ดสินค้า การ์ดสินค้าแบบไดนามิก Dynamic Images บริบทผู้ใช้ การติดตามแบบเรียลไทม์ Human Takeover การยกระดับ การแจ้งเตือน AI รายงานประจำวัน ฟีดข้อมูลแบบเรียลไทม์ ฟีดข้อมูลแบบเรียลไทม์ Max สมาชิกในทีม การลงชื่อเข้าใช้ครั้งเดียว รวมรูปภาพ การมองเห็นรูปภาพ วิดเจ็ตแปลภาษา การปรับให้เข้ากับท้องถิ่น ลูกค้าเป้าหมาย การจับลูกค้าเป้าหมายอัจฉริยะ ตั๋วสนับสนุน การจอง การฝัง ยกเว้นหน้า IP ที่ถูกบล็อก โมเดลที่ฉลาดกว่า เปิดใช้งานการคิดวิเคราะห์ คำแนะนำการตอบกลับ ข้อความติดตามผล เสียงเป็นข้อความ ดาวน์โหลดบันทึกการสนทนา แชทแบบฝังตัว

วิธีเพิ่มแชทบอท AI Asyntai ไปยัง Sanity

คู่มือทีละขั้นตอนสำหรับเว็บไซต์ที่ขับเคลื่อนโดย Sanity

รับโค้ดฝัง

สำคัญ: Sanity เป็น headless CMS ที่ส่งเนื้อหาผ่าน API โค้ดแชทบอทจำเป็นต้องเพิ่มไปยังแอปพลิเคชัน frontend ของคุณ (Next.js, Gatsby, Nuxt, HTML ธรรมดา ฯลฯ) ไม่ใช่ไปที่ Sanity Studio เอง

ขั้นตอนที่ 1: รับโค้ดฝังตัวของคุณ

ก่อนอื่น ไปที่แดชบอร์ด Asyntai ของคุณและเลื่อนลงไปที่ส่วน "Embed Code" คัดลอกโค้ดฝังตัวเฉพาะของคุณซึ่งจะมีลักษณะดังนี้:

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

หมายเหตุ: โค้ดด้านบนเป็นเพียงตัวอย่าง คุณต้องคัดลอกโค้ดฝังตัวเฉพาะของคุณจากแดชบอร์ดเนื่องจากมี widget ID ส่วนตัวของคุณ

ขั้นตอนที่ 2: เพิ่มลงในฟรอนต์เอนด์ Next.js (พบมากที่สุด)

หากเว็บไซต์ที่ขับเคลื่อนโดย Sanity ของคุณใช้ Next.js (การจับคู่ที่พบบ่อยที่สุด) ให้เพิ่มแชทบอทไปยัง root layout ของคุณ:

App Router (Next.js 13+)

เปิด app/layout.js (หรือ app/layout.tsx) และเพิ่ม Script component:

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

หากเว็บไซต์ 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 ด้วย หากต้องการให้วิดเจ็ตคงอยู่ระหว่างการนำทางฝั่งไคลเอนต์ หรืออีกทางเลือกหนึ่งคือเพิ่มไปยัง root layout component ของคุณ

วิธีทางเลือกที่ 2: ฟรอนต์เอนด์ Nuxt.js

หากเว็บไซต์ 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: Frontend HTML ธรรมดา

หากเว็บไซต์ที่ขับเคลื่อนโดย Sanity ของคุณใช้ HTML ธรรมดาหรือ static site generator ที่ใช้ 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)

หากฝั่ง frontend ของคุณใช้ 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 hook ใน root component ของคุณ:

// 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: Deploy และตรวจสอบ

หลังจากเพิ่มโค้ดไปยังแอปพลิเคชัน frontend ของคุณแล้ว:

  1. ปรับใช้ frontend ของคุณไปยังผู้ให้บริการโฮสติ้ง (Vercel, Netlify ฯลฯ)
  2. เปิดเว็บไซต์ที่ใช้งานจริงของคุณในแท็บเบราว์เซอร์ใหม่
  3. คุณควรเห็นปุ่มวิดเจ็ตแชทที่มุมล่างขวา
  4. คลิกเพื่อตรวจสอบว่าเปิดขึ้นมาและทำงานได้อย่างถูกต้อง

ไม่เห็นวิดเจ็ต? ตรวจสอบให้แน่ใจว่าคุณเปลี่ยน YOUR_WIDGET_ID เป็น widget ID จริงของคุณจากแดชบอร์ดแล้ว ตรวจสอบว่าสคริปต์กำลังโหลดในแท็บ Network ของเบราว์เซอร์ (F12 > Network) ยืนยันว่า frontend ถูกปรับใช้ใหม่หลังจากเพิ่มโค้ดแล้ว สำหรับ Next.js ตรวจสอบว่าคุณใช้ Script component จาก next/script ไม่ใช่แท็ก <script> ปกติ ล้างแคชเบราว์เซอร์หรือทดสอบในโหมดไม่ระบุตัวตน