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 மூலம் பின்வரும் பண்புகளை ஏற்கிறது:
| பண்பு | வகை | தேவை | இயல்புநிலை | விளக்கம் |
|---|---|---|---|---|
publishableKey | string | ஆம் | -- | டெவலப்பர்கள் அமைப்புகளில் உள்ள வெளியிடக்கூடிய API விசை (pk_live_...). விசையின் விட்ஜெட் உள்ளமைவிலிருந்து ஏஜென்ட் தானாகத் தீர்மானிக்கப்படும். |
theme | 'light' | 'dark' | இல்லை | 'light' | வண்ணத் திட்டம். விட்ஜெட் ரூட்டில் tp--light அல்லது tp--dark கிளாஸைப் பயன்படுத்தும். |
primaryColor | string | இல்லை | '#000000' (ஒளி) / '#ffffff' (இருள்) | உச்சரிப்பு வண்ணமாகப் பயன்படுத்தப்படும் CSS வண்ண ஸ்டிரிங் (அழைப்பு பொத்தான், அலைவடிவம், செயலில் உள்ள குறிகாட்டிகள்). |
title | string | இல்லை | 'Voice assistant' | விட்ஜெட் பட்டையில் காட்டப்படும் உரை. |
position | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | இல்லை | 'bottom-right' | விட்ஜெட்டிற்கான நிலையான வியூபோர்ட் இடம். |
apiBase | string | இல்லை | 'https://api.thunderphone.com/v1' | API அடிப்படை URL மேலெழுதுதல். |
language | string | இல்லை | -- | ஒவ்வொரு அமர்விற்குமான மொழி மேலெழுதுதல் -- en, es, அல்லது fr-FR போன்ற மொழிக் குறியீடு அல்லது லொக்கேல். அமைக்கப்படாதபோது, ஏஜென்ட்டின் உள்ளமைக்கப்பட்ட மொழி பயன்படுத்தப்படும். |
voice | string | இல்லை | -- | ஒவ்வொரு அமர்விற்குமான குரல் மேலெழுதுதல் -- maria போன்ற குரல் பெயர். அமைக்கப்படாதபோது, ஏஜென்ட்டின் உள்ளமைக்கப்பட்ட குரல் பயன்படுத்தப்படும். |
context | string | இல்லை | -- | ஏஜென்ட்டிற்கு அனுப்பப்படும் ஒவ்வொரு அமர்விற்குமான உண்மைத் தகவல் பக்கம் அல்லது தளச் சூழல் (எடுத்துக்காட்டாக, பார்வையாளர் பார்க்கும் பக்கத்தின் விவரங்கள்). சர்வர் பக்கத்தில் 12,000 எழுத்துகளாகக் குறைக்கப்படும். |
onConnect | () => void | இல்லை | -- | குரல் அமர்வு வெற்றிகரமாக இணைக்கப்படும்போது அழைக்கப்படும். |
onDisconnect | () => void | இல்லை | -- | அமர்வு முடிவடையும்போது அழைக்கப்படும். |
onError | (error) => void | இல்லை | -- | பிழைகள் ஏற்படும்போது அழைக்கப்படும். error ஆப்ஜெக்டில் error (குறியீடு) மற்றும் message புலங்கள் உள்ளன. |
className | string | இல்லை | -- | விட்ஜெட் கன்டெய்னருக்குப் பயன்படுத்தப்படும் கூடுதல் CSS கிளாஸ் பெயர். |
ringtone | boolean | 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 கால்பேக் செயல்படுத்தப்படும்போது, அது இரண்டு புலங்களைக் கொண்ட பிழை ஆப்ஜெக்டைப் பெறும்:
| புலம் | வகை | விளக்கம் |
|---|---|---|
error | string | இயந்திரம் படிக்கக்கூடிய பிழைக் குறியீடு |
message | string | மனிதர் படிக்கக்கூடிய பிழை விளக்கம் |
பொதுவான பிழைக் குறியீடுகளில் அனுமதிக்கப்படாத டொமைன், கண்டறியப்படாத ஏஜென்ட் மற்றும் தவறான API விசை ஆகியவை அடங்கும்.