React Native SDK
ElevenAgents SDK:React Nativeアプリ向けに、カスタマイズ可能なインタラクティブ音声エージェントを数分で導入。
ElevenAgentsの仕組みについては、ElevenAgentsの概要を参照してください。
インストール
React Nativeプロジェクトにパッケージとその依存関係をインストールします。
ExpoでこのSDKを使用するサンプルアプリは、 こちらにあります。
以前のバージョンからアップグレードしますか?npx skills add elevenlabs/packagesを実行すると、
AIコーディングエージェント向けのelevenlabs:sdk-migrationスキルがインストールされ、importの変更、
ConversationProviderのラップ、APIの更新が自動化されます。
要件
- LiveKitの依存関係を含むReact Native
- プラットフォームに合わせて設定されたマイク権限
- Expo互換性(開発ビルドのみ)
- React Native 0.79.0以降、または旧バージョンではMetroを設定して
package.jsonの"exports"を解決
このSDKはExpoフレームワークでの利用を想定して設計・開発されています。LiveKitのWebRTC実装に依存するため、 開発ビルドが必要であり、Expo Goでは使用できません。
@elevenlabs/react-nativeは、package.jsonの
"exports"フィールドを介してReact Nativeのエントリポイントを解決します。Metroが
デフォルトで"exports"を解決するのは、React Native
0.79.0(2025年4月8日リリース)に含まれるMetro 0.82.0以降です。React Nativeが
0.79より古い場合は、このパッケージを正しく解決できるよう、metro.config.jsでresolver.unstable_enablePackageExports = trueを設定してください。
セットアップ
Providerのセットアップ
アプリをConversationProviderでラップして、ElevenAgentsの機能を有効にします。
@elevenlabs/react-nativeは、@elevenlabs/reactのConversationProviderとすべてのフックを
再エクスポートします。APIはWeb向けReact SDKと同一です。完全なAPIリファレンスはReact SDK
ドキュメントを参照してください。
使用方法
React SDKのすべてのフックは、@elevenlabs/react-nativeから利用できます。
useConversation— すべての状態とメソッドを組み合わせた便利なフックuseConversationControls— アクションメソッド(startSession、endSessionなど)useConversationStatus— 接続ステータスuseConversationInput— ミュート状態useConversationMode— 発話/リスニング状態useConversationFeedback— フィードバックの可否と送信useConversationClientTool— 動的なクライアントツール登録useRawConversation— 生の会話インスタンス
会話を開始する
プライベートエージェント、認証、クライアントツール、オーバーライド、その他すべての機能については、React SDKドキュメントを参照してください。
実装例
ElevenLabs Agents SDKを使用したReact Nativeコンポーネントの完全な例です。
プラットフォーム固有の考慮事項
iOS
Info.plistでマイク権限が正しく設定されていることを確認してください。
Android
android/app/src/main/AndroidManifest.xmlにマイク権限を追加します。
会話を開始する前にランタイム権限をリクエストすることも検討してください。