A sample iOS/Swift3 app that brings Alexa Voice Service to your phone.
Features:
- Login with Amazon, using scope alexa:all
- Alexa Voice Service (AVS) v20160207 API with HTTP/2
- Downchannel implementation on Timer (only SetAlert)
- Swift 3 implementation
Instructions:
- Check-out the code, modify Bundle Identifier to something you like.
- Register a new product with Alexa Voice Service, select product type: application. Write down your Application Type ID.
- Create a Security Profile, create a new API key with your new Bundle Identifier under iOS Settings. Write down your Key.
- Modify the value of APPLICATION_TYPE_ID under "Settings.swift" to use your Application Type ID.
- Modify the value of APIKey under "info.plist" to use your API key.
- Modify the entries under "info.plist" -> URL types, replace URL Schemes -> Item 0 and URL identifier with your Bundle Identifier.
- To change parameters such as ASR Profile, modify the value of AUDIO_EVENT_DATA under "AlexaVoiceServiceClient.swift".
Demo 1 - Ping
- Run the app.
- Click "Ping", then you will see "Ping Success!".
Demo 2 - Weather (or any question)
- Run the app.
- Click "Push to Talk", then speak: "What's the weather?".
- Click the button again to stop recording.
- Wait for Alexa's response.
Demo 3 - Timer (Downchannel)
- Run the app.
- Click "Start Downchannel & Synchronize State, wait for "Sync Success!".
- Click "Push to Talk", then speak: "Set a timer for 10 seconds".
- Wait for 10 seconds, then you will see "Time is up!".
See the official AVS GitHub here.
Next step: add wake word detection.