Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nugu-developers/nugu-android
NUGU SDK for Android
https://github.com/nugu-developers/nugu-android
Last synced: about 5 hours ago
JSON representation
NUGU SDK for Android
- Host: GitHub
- URL: https://github.com/nugu-developers/nugu-android
- Owner: nugu-developers
- License: apache-2.0
- Created: 2019-10-10T02:20:46.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-14T04:19:46.000Z (6 days ago)
- Last Synced: 2024-11-14T05:20:38.307Z (6 days ago)
- Language: Kotlin
- Homepage: https://developers-doc.nugu.co.kr/
- Size: 14 MB
- Stars: 18
- Watchers: 8
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# NUGU SDK for Android
An SDK for application to integrate NUGU service at Android based on Kotlin or Java.## Introduction to components
The SDK consist of following components. Look at diagram.
* Nugu Interface : Provide common interfaces to communicate with NUGU SDK.
* Nugu Core : This component implements core business logic for NUGU service.
* Nugu Agent : Provide default agent implementation such as ASRAgent, TTSAgent etc.
* Nugu Android Helper : Provide a default android client to help you integrate into the application simply.
* Nugu UX kit : Provide an UX components that follow NUGU's design guide.
* Nugu Login kit : Provide helpers for NUGU Login.
* Nugu Client kit : Provide helpers to easily develop for NUGU service![State Diagram](https://user-images.githubusercontent.com/53801377/180732180-37aad563-9271-4ec0-9f3a-9eb6e59e8e98.png)
## Requirements
###### Network : above TLS v1.2
###### OS : above Android 5.0 (API level 21)
###### Language : Java , Kotlin## How to integrate into your application?
Basically, the SDK provide a flexiable way for integration.\
Only mandatory components for integration are 'Nugu Interface' and 'Nugu Core'.\
The others are utility compoenents to easy integration.\
But, we explain an simple method here.
#### Method 1 : (The most easy way) Use "Nugu Android Helper"
##### Setup dependency
At module's build.gradle
```groovy
dependencies {
implementation 'com.skt.nugu.sdk:nugu-android-helper:$latestVersion'
}
```
##### Create Nugu Android Client
The client provides most of the APIs for status notification and control of the SDK.
```kotlin
val client = NuguAndroidClient.Builder(
context,
authDelegate,
defaultAudioProvider
).endPointDetector(EndPointDetector(EPD_MODEL_FILE_PATH)).build()
```
##### Use SpeechRecognizerAggregator
If the application use "Keyword Detector" to wake up, recommend to use.\
Otherwise, skip this part.\
This class provides a convenient way to manage "Keyword Detector" and "SpeechProcessor" easily.\
The constructor requires three parameters. Look at documentation about details.
```kotlin
val speechRecognizerAggregator = SpeechRecognizerAggregator(
KeensenseKeywordDetector(keywordResource),
SpeechProcessorDelegate(client?.asrAgent),
audioSourceManager)
```