--- title: "Mobile SDK" slug: "ai-naver-clovaspeechrecognition-mobilesdk" tags: ["CLOVA Speech Recognition"] updated: 2026-09-17T09:57:20Z published: 2026-09-17T09:57:20Z canonical: "api.ncloud-docs.com/ai-naver-clovaspeechrecognition-mobilesdk" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Mobile SDK Classic/VPC環境で利用できます。 音声認識に使用する言語と MP3、AAC、AC3、OGG、FLAC、WAV形式の音声データの入力を受け、テキストに変換する APIを Androidと iOS SDK形式で提供します。 ## 事前準備 Mobile SDKの事前準備の詳細は、[CLOVA Speech Recognition (CSR)の共通設定](/docs/ja/ai-naver-clovaspeechrecognition#CLOVASpeechRecognition%EA%B3%B5%ED%86%B5%EC%84%A4%EC%A0%95)をご参照ください。 ## APIの使用 CSR APIは Android用と iOS用 SDKを通じて提供されます。ここではプラットフォーム別の CSR APIの使用方法について説明します。 ## リクエスト ### Android API Android APIを使用する方法は次の通りです。 1. 次の構文を`{PROJECT}/build.gradle`ファイルに追加します。 ``` buildscript { repositories { google() mavenCentral() } } allprojects { repositories { google() mavenCentral() } } ``` 2. 次の構文を`app/build.gradle`ファイルに追加します。 ``` dependencies { implementation 'com.naver.speech.clientapi:naverspeech-ncp-sdk-android:1.2.0' } ``` 3. 次のように Android Manifestファイル(AndroidManifest.xml)を設定します。 - パッケージ名: `manifest`要素の`package`属性は NAVERクラウドプラットフォームコンソールで登録した Androidアプリのパッケージ名と同じにします。 - 権限の設定: ユーザーの音声入力をマイクで録音し、録音されたデータをサーバに送信する必要があります。したがって、`android.permission.INTERNET`と`android.permission.RECORD_AUDIO`に対する権限は必ず設定してください。 ``` ``` 1. (Optional) proguard-rules.proファイルに次のコードを追加します。 - このコードは、アプリをより軽くて安全に実行させます。 ``` -keep class com.naver.speech.clientapi.SpeechRecognizer { protected private *; ``` 参考 NAVER Open APIは Android SDKバージョン 10以降をサポートしています。そのため、build.gradleファイルの`minSdkVersion`をこれに合わせて設定する必要があります。 - クライアントは**準備**、**録音**、**中間結果の出力**、**終点の抽出**、**最終結果の出力**といった一連のイベントの流れを行います。 - アプリケーション開発者は、`SpeechRecognitioinListener`インターフェースを継承してこれらのイベントが発生したときに処理する動作を実装します。 参考 APIの詳細は、[https://github.com/NaverCloudPlatform/naverspeech-sdk-android](https://github.com/NaverCloudPlatform/naverspeech-sdk-android)をご参照ください。 ### iOS API iOS APIを使用する方法は次の通りです。 1. [iOS用サンプルコード](https://github.com/NaverCloudPlatform/naverspeech-sdk-ios)を複製(clone)するか、Zipファイルでダウンロードして圧縮を展開します。 ``` git clone https://github.com/NaverCloudPlatform/naverspeech-sdk-ios.git または wget https://github.com/NaverCloudPlatform/naverspeech-sdk-ios/archive/ncp.zip unzip ncp.zip ``` 2. OSのサンプルコードで`framework/NaverSpeech.framework`ディレクトリを開発するアプリの **Embedded Binaries**に追加します。 3. 次のように iOS Bundle Identifierを設定します。 ``` ``` - Bundle Identifier: NAVERクラウドプラットフォームコンソールで登録した **iOS Bundle ID**と同じ値にします。 - 権限の設定: ユーザーの音声入力をマイクで録音し、録音されたデータをサーバに送信する必要があります。したがって、`key`を次のように設定します。 参考 - iOS APIを提供するために Universal binary (Fat binary)形式のフレームワークを提供しています。そのため、**Build Setting**で **Enable Bitcode**オプションは使用できないので、**No**に設定してください。 - NAVER Open APIは iOSバージョン 8以降をサポートしています。したがって、**Deployment Target**をこれに合わせて設定してください。 - クライアントは**準備**、**録音**、**中間結果の出力**、**終点の抽出**、**最終結果の出力**といった一連のイベントの流れを行います。 - アプリケーション開発者は、これらのイベントが発生したときに目的の動作を実行するように`NSKRecognizerDelegate`プロトコルを実装します。 参考 APIの詳細は、[NAVER Speech文書](http://naver.github.io/naverspeech-sdk-ios/Classes/NSKRecognizer.html)をご参照ください。 ## UX関連の考慮事項 通常、ユーザーは音声認識ボタンを押すとすぐに発話を始めようとする傾向があります。しかし、音声認識を開始する`recognize()`メソッドを呼び出すと、音声認識のためのメモリの割り当て、マイクリソースの割り当て、音声認識サーバへの接続と認証などの準備を行う必要があるため、ユーザーの発話の一部が欠落する恐れがあります。そのため、アプリはすべての準備が完了した後、ユーザーに発話してもよいという情報を伝える必要があります。この方法は次のように処理することができます。 - 準備がすべて完了したら、`onReady` callbackメソッドが呼び出されます。 - `onReady` callbackメソッドが呼び出されるまで`準備中です。`のようなメッセージを表示するか、準備中であることを示す UIを表示する必要があります。 - `onReady` callbackメソッドが呼び出されると`話してください。`のようなメッセージを表示するか、使用可能であることを示す UIを表示します。 参考 - (Android API) `SpeechRecognitionListener`の`onReady`、`onRecord`などの callbackメソッドは[Worker Thread](https://developer.android.com/guide/components/processes-and-threads.html)で呼び出されるメソッドであり、ハンドラー(Handler)に登録して使用します。 - (iOS API) `cancel()`メソッドを呼び出すと、呼び出した時点からデリゲーション(Delegation)メソッドは呼び出されません。そのため、音声認識が終わった時に処理する操作は`cancel()`メソッドの呼び出し後に別途行う必要があります。 ### レスポンスステータスコード CLOVA Speech Recognition(CSR) APIで共通して使用されるレスポンスステータスコードの詳細は、[CLOVA Speech Recognition (CSR)の共通レスポンスステータスコード](/docs/ja/ai-naver-clovaspeechrecognition#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)をご参照ください。