React கூறு

ThunderPhoneWidget காம்பொனென்ட், ஒலியடக்குதல், அழைப்பை முடித்தல் மற்றும் இணைப்பு நிலையை காட்டுதல் ஆகியவற்றுக்கான உள்ளமைக்கப்பட்ட கட்டுப்பாடுகளுடன் கண்ணாடி-பாணி அழைப்புப் பட்டையை ரெண்டர் செய்கிறது. React செயலியில் குரல் AI-ஐச் சேர்க்க இதுவே மிக விரைவான வழியாகும்.

நிறுவல்

npm install @thunderphone/widget

அடிப்படை பயன்பாடு

import { ThunderPhoneWidget } from '@thunderphone/widget'
import '@thunderphone/widget/style.css'

function App() {
  return (
    <ThunderPhoneWidget
      publishableKey="pk_live_your_publishable_key"
    />
  )
}

பண்புகள்

காம்பொனென்ட் ThunderPhoneWidgetProps மூலம் பின்வரும் பண்புகளை ஏற்கிறது:

பண்புவகைதேவைஇயல்புநிலைவிளக்கம்
publishableKeystringஆம்--டெவலப்பர்கள் அமைப்புகளில் உள்ள வெளியிடக்கூடிய API விசை (pk_live_...). விசையின் விட்ஜெட் உள்ளமைவிலிருந்து ஏஜென்ட் தானாகத் தீர்மானிக்கப்படும்.
theme'light' | 'dark'இல்லை'light'வண்ணத் திட்டம். விட்ஜெட் ரூட்டில் tp--light அல்லது tp--dark கிளாஸைப் பயன்படுத்தும்.
primaryColorstringஇல்லை'#000000' (ஒளி) / '#ffffff' (இருள்)உச்சரிப்பு வண்ணமாகப் பயன்படுத்தப்படும் CSS வண்ண ஸ்டிரிங் (அழைப்பு பொத்தான், அலைவடிவம், செயலில் உள்ள குறிகாட்டிகள்).
titlestringஇல்லை'Voice assistant'விட்ஜெட் பட்டையில் காட்டப்படும் உரை.
position'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'இல்லை'bottom-right'விட்ஜெட்டிற்கான நிலையான வியூபோர்ட் இடம்.
apiBasestringஇல்லை'https://api.thunderphone.com/v1'API அடிப்படை URL மேலெழுதுதல்.
languagestringஇல்லை--ஒவ்வொரு அமர்விற்குமான மொழி மேலெழுதுதல் -- en, es, அல்லது fr-FR போன்ற மொழிக் குறியீடு அல்லது லொக்கேல். அமைக்கப்படாதபோது, ஏஜென்ட்டின் உள்ளமைக்கப்பட்ட மொழி பயன்படுத்தப்படும்.
voicestringஇல்லை--ஒவ்வொரு அமர்விற்குமான குரல் மேலெழுதுதல் -- maria போன்ற குரல் பெயர். அமைக்கப்படாதபோது, ஏஜென்ட்டின் உள்ளமைக்கப்பட்ட குரல் பயன்படுத்தப்படும்.
contextstringஇல்லை--ஏஜென்ட்டிற்கு அனுப்பப்படும் ஒவ்வொரு அமர்விற்குமான உண்மைத் தகவல் பக்கம் அல்லது தளச் சூழல் (எடுத்துக்காட்டாக, பார்வையாளர் பார்க்கும் பக்கத்தின் விவரங்கள்). சர்வர் பக்கத்தில் 12,000 எழுத்துகளாகக் குறைக்கப்படும்.
onConnect() => voidஇல்லை--குரல் அமர்வு வெற்றிகரமாக இணைக்கப்படும்போது அழைக்கப்படும்.
onDisconnect() => voidஇல்லை--அமர்வு முடிவடையும்போது அழைக்கப்படும்.
onError(error) => voidஇல்லை--பிழைகள் ஏற்படும்போது அழைக்கப்படும். error ஆப்ஜெக்டில் error (குறியீடு) மற்றும் message புலங்கள் உள்ளன.
classNamestringஇல்லை--விட்ஜெட் கன்டெய்னருக்குப் பயன்படுத்தப்படும் கூடுதல் CSS கிளாஸ் பெயர்.
ringtoneboolean | stringஇல்லைfalseஇணைக்கும்போது ரிங்டோனை இயக்கும். இயல்புநிலை ரிங்டோனுக்கு true, அல்லது தனிப்பயன் ஆடியோவுக்கு URL ஸ்டிரிங்.

எடுத்துக்காட்டுகள்

தனிப்பயன் நிறத்துடன் கூடிய இருண்ட தீம்

import { ThunderPhoneWidget } from '@thunderphone/widget'
import '@thunderphone/widget/style.css'

function App() {
  return (
    <ThunderPhoneWidget
      publishableKey="pk_live_your_publishable_key"
      theme="dark"
      primaryColor="#8b5cf6"
      title="Talk to our AI"
    />
  )
}

தனிப்பயன் நிலை

import { ThunderPhoneWidget } from '@thunderphone/widget'
import '@thunderphone/widget/style.css'

function App() {
  return (
    <ThunderPhoneWidget
      publishableKey="pk_live_your_publishable_key"
      position="bottom-left"
    />
  )
}

ஒவ்வொரு அமர்விற்குமான மொழி, குரல் மற்றும் சூழல்

அழைப்பு தொடங்கும்போது language, voice, மற்றும் context props-கள் அமர்வு கோரிக்கைக்கு (POST /widget/session) அனுப்பப்படும்; அந்த அமர்விற்கான ஏஜென்டின் உள்ளமைக்கப்பட்ட இயல்புநிலை மதிப்புகளை அவை மேலெழுதும்:

import { ThunderPhoneWidget } from '@thunderphone/widget'
import '@thunderphone/widget/style.css'

function PricingPageWidget() {
  return (
    <ThunderPhoneWidget
      publishableKey="pk_live_your_publishable_key"
      language="es"
      voice="maria"
      context="Page: Pricing. Plans: Starter $29/mo, Pro $99/mo. Annual billing saves 20%."
    />
  )
}

பார்வையாளர் இருக்கும் பக்கத்தைப் பற்றிய உண்மைத் தகவல்களை—தயாரிப்பு விவரங்கள், விலை நிர்ணயம் அல்லது பக்கத்திற்கான குறிப்பிட்ட FAQ-கள்—ஏஜென்டிற்கு வழங்க context ஐப் பயன்படுத்தவும். இது சர்வர் பக்கத்தில் 12,000 எழுத்துகளாகக் குறைக்கப்படும்.

நிகழ்வு கால்பேக்குகளுடன்

import { ThunderPhoneWidget } from '@thunderphone/widget'
import '@thunderphone/widget/style.css'

function SupportWidget() {
  return (
    <ThunderPhoneWidget
      publishableKey="pk_live_your_publishable_key"
      onConnect={() => {
        console.log('Voice session connected')
        analytics.track('widget_call_started')
      }}
      onDisconnect={() => {
        console.log('Voice session ended')
        analytics.track('widget_call_ended')
      }}
      onError={(error) => {
        console.error(`Widget error: ${error.error} - ${error.message}`)
      }}
    />
  )
}

தனிப்பயன் ஸ்டைலிங்குடன்

import { ThunderPhoneWidget } from '@thunderphone/widget'
import '@thunderphone/widget/style.css'

function BrandedWidget() {
  return (
    <ThunderPhoneWidget
      publishableKey="pk_live_your_publishable_key"
      primaryColor="#4a90d9"
      className="my-custom-widget"
    />
  )
}
.my-custom-widget .tp-button--end {
  background-color: #e74c3c;
}

கிடைக்கும் அனைத்து CSS வகுப்புகள் மற்றும் தனிப்பயன் பண்புகளுக்கு ஸ்டைலிங் வழிகாட்டியைப் பார்க்கவும்.

ரிங்டோனுடன்

இணைப்பு ஏற்படுத்தப்படும் போது தொலைபேசி ஒலிக்கும் சத்தத்தை இயக்கவும்:

import { ThunderPhoneWidget } from '@thunderphone/widget'
import '@thunderphone/widget/style.css'

function PhoneWidget() {
  return (
    <ThunderPhoneWidget
      publishableKey="pk_live_your_publishable_key"
      ringtone={true}
    />
  )
}

ஆடியோ கோப்பு URL-ஐ அனுப்பி தனிப்பயன் ரிங்டோனைப் பயன்படுத்தவும்:

<ThunderPhoneWidget
  publishableKey="pk_live_your_publishable_key"
  ringtone="https://example.com/my-ringtone.mp3"
/>

விட்ஜெட் connecting நிலையில் இருக்கும்போது ரிங்டோன் தொடர்ச்சியாக ஒலிக்கும்; ஏஜென்ட் இணைந்ததும் அது மென்மையாகக் குறைந்து நிற்கும்.

தனிப்பயன் API அடிப்படையுடன்

<ThunderPhoneWidget
  publishableKey="pk_live_your_publishable_key"
  apiBase="https://your-proxy.example.com/v1"
/>

பிழை கையாளுதல்

onError கால்பேக் செயல்படுத்தப்படும்போது, அது இரண்டு புலங்களைக் கொண்ட பிழை ஆப்ஜெக்டைப் பெறும்:

புலம்வகைவிளக்கம்
errorstringஇயந்திரம் படிக்கக்கூடிய பிழைக் குறியீடு
messagestringமனிதர் படிக்கக்கூடிய பிழை விளக்கம்

பொதுவான பிழைக் குறியீடுகளில் அனுமதிக்கப்படாத டொமைன், கண்டறியப்படாத ஏஜென்ட் மற்றும் தவறான API விசை ஆகியவை அடங்கும்.


அடுத்த படிகள்