This project demonstrates an application to facilitate one-on-one practice interviews built with the Dolby.io Communications Android SDK. The server-side components query REST APIs to identify available conferences to join and generate authentication tokens. Once in a conference you have expected voice and video functionality of a basic conference call.
Clone the Repository
Run the following:
git clone https://github.com/dolbyio-samples/blog-android-interview-app cd blog-android-interview-app
Follow Setup Instructions
You’ll need to complete a few setup steps as described in the README.
- Setup Android Studio
- Set your Dolby.io App key and App secret
- Run local server for serving conferences (or sign up and deploy app to Heroku)
Using Kotlin with Android SDK
If you are looking for Kotlin sample code for working with the Android SDK this project may be a good place to start. The code base uses Kotlin and pulls the Android SDK library in as a dependency.
This project demonstrates a full application architecture you might consider for your own implementation. The server components work with Dolby.io using RdEST APIs to authenticate and identify available conferences. The mobile application includes activities and user-interface fragments to handle login, conference selection to create or join, and the video conference itself.
For many production applications you will need to implement a server component. This allows you to hide sensitive information such as your credentials (App key and App secret). It also gives you a place to build additional functionality that allows coordination across clients.
This project does not require Heroku, but the documentation provides instructions for how to configure and deploy the server-side functionality to the Heroku platform as an example.
This application exposes an endpoint at
/token/access which will return a client token. This is an abstraction on top of the Authentication REST API so that client code installed on mobile clients do not require any secrets that can be exploited.
This application creates an endpoint
/conference/list to wrap some behaviors around the underlying Monitor REST API. This allows clients to coordinate via the server to find open conferences to join or get paired up with a partner.
You can see this example in action by following the instructions above and running it in Android Studio.