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

เอกสาร

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

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

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

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

รับโค้ดฝัง

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

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

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

<script>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</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>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</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>(function(){var l=function(){var s=document.createElement("script");s.src="https://widget.asyntai.com/static/js/chat-widget.js";s.async=true;s.setAttribute("data-asyntai-id","YOUR_WIDGET_ID");document.head.appendChild(s)};if(document.readyState==="complete"){l()}else{window.addEventListener("load",l)}})();</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> ปกติ ล้างแคชเบราว์เซอร์หรือทดสอบในโหมดไม่ระบุตัวตน