React & Next.js
Fügen Sie das Agenten-Widget zu React- und Next.js-Anwendungen hinzu.
Integrieren Sie das Agenten-Widget mit wenigen Codezeilen in Ihre React- und Next.js-Anwendung.
Installation
Fügen Sie das Widget-Script zu Ihrer React-App hinzu. Holen Sie sich Ihren Einbettungscode über Chatbot > Veröffentlichen und passen Sie ihn dann an Ihr Framework an.
Next.js (App Router)
Fügen Sie das Script mithilfe der Next.js-Komponente Script zu Ihrem Root-Layout hinzu:
// app/layout.tsx
import Script from 'next/script';
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>
{children}
{/* Get your src and data-chatbot values from Chatbot > Publish */}
<Script
src="YOUR_WIDGET_URL"
data-chatbot="YOUR_CHATBOT_ID"
strategy="afterInteractive"
/>
</body>
</html>
);
}
Next.js (Pages Router)
Fügen Sie es zu _app.tsx oder _document.tsx hinzu:
// pages/_app.tsx
import Script from 'next/script';
import type { AppProps } from 'next/app';
export default function App({ Component, pageProps }: AppProps) {
return (
<>
<Component {...pageProps} />
{/* Get your src and data-chatbot values from Chatbot > Publish */}
<Script
src="YOUR_WIDGET_URL"
data-chatbot="YOUR_CHATBOT_ID"
strategy="afterInteractive"
/>
</>
);
}
Create React App
Fügen Sie es in public/index.html ein. Kopieren Sie Ihren Einbettungscode aus Chatbot > Veröffentlichen:
<!DOCTYPE html> <html lang="en"> <head> <!-- ... --> </head> <body> <div id="root"></div> <!-- Paste your embed code from Chatbot > Publish here --> </body> </html>
Vite
Fügen Sie es in index.html ein. Kopieren Sie Ihren Einbettungscode aus Chatbot > Veröffentlichen:
<!DOCTYPE html> <html lang="en"> <head> <!-- ... --> </head> <body> <div id="root"></div> <script type="module" src="/src/main.tsx"></script> <!-- Paste your embed code from Chatbot > Publish here --> </body> </html>
Dynamische Agent-ID
Für Multi-Tenant-Apps, bei denen die Agent-ID variiert:
// components/ChatbotWidget.tsx
'use client';
import Script from 'next/script';
interface ChatbotWidgetProps {
chatbotId: string;
widgetUrl: string;
}
export function ChatbotWidget({ chatbotId, widgetUrl }: ChatbotWidgetProps) {
if (!chatbotId) return null;
return (
<Script
src={widgetUrl}
data-chatbot={chatbotId}
strategy="afterInteractive"
/>
);
}
Bedingtes Laden
Widget nur auf bestimmten Seiten anzeigen:
// app/support/layout.tsx
import Script from 'next/script';
export default function SupportLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
{children}
{/* Get your src and data-chatbot values from Chatbot > Publish */}
<Script
src="YOUR_WIDGET_URL"
data-chatbot="YOUR_CHATBOT_ID"
strategy="afterInteractive"
/>
</>
);
}
TypeScript-Typen
Das Widget benötigt keine TypeScript-Typen, da es extern geladen wird und seine eigene Oberfläche verwaltet.
Testen während der Entwicklung
Für die lokale Entwicklung:
- Fügen Sie
localhostzu den zulässigen Domains hinzu - Verwenden Sie Ihre Produktions-Agent-ID
- Testen Sie die Interaktionen wie gewohnt
Umgebungsvariablen
Speichern Sie die Agent-ID und die Widget-URL in Umgebungsvariablen:
# .env.local NEXT_PUBLIC_CHATBOT_ID=your-chatbot-id NEXT_PUBLIC_WIDGET_URL=your-widget-url
<Script
src={process.env.NEXT_PUBLIC_WIDGET_URL}
data-chatbot={process.env.NEXT_PUBLIC_CHATBOT_ID}
strategy="afterInteractive"
/>
Beide Werte finden Sie im Tab Veröffentlichen Ihres Agenten.
Hinweis zu Server-Komponenten
Die Script-Komponente funktioniert mit React Server Components. Sie müssen das Layout nicht als Client-Komponente kennzeichnen.
Nächste Schritte
- Widget-Aussehen anpassen
- Domain-Einschränkungen konfigurieren
- Die REST-API verwenden für individuelle Oberflächen