New Release: OpenTok iOS & Android 2.9

tokbox-inc_markWe are excited to announce the release of the OpenTok 2.9 Android and iOS SDKs. We’ve made a number of important changes with this release.

What’s new?

Automatic Reconnect

With this version your client can now automatically reconnect to OpenTok sessions after drops in network connectivity. This feature helps restore connectivity during transitions between network interfaces such as Wi-Fi and LTE, allowing you to expand the duration of the communication and provide a better quality of experience to your customers. You can find sample code showing you how to update your application here.

Scalable Video

Moreover, this is our first SDK including the OpenTok scalable video feature that will improve video quality when using the OpenTok Media Router. For more information, see the OpenTok Media Router documentation.

WebRTC M52

It is important to mention that  and both iOS and Android SDK have been upgraded to use Google WebRTC M52, see here for more details.

iOS SDK

  • This version now officially supports bitcode. (Previously, this was only available in a beta build of the OpenTok iOS SDK.). While bitcode support increases the size of the app archive (.ipa), the download size from the App Store is reduced for end users. You can find more information about bitcode and app slicing here.

  • This version adds an OTSession.capabilities property. Use this property to check whether the client can publish streams to an OpenTok session, based on the role assigned to the token used to connect to the session.

  • This version fixes performance/disconnect issues when publishing streams on devices that use the A5 processor (including the iPhone 4S, the iPod Touch 5th generation, the iPad 2, and the iPad Mini 1st generation). In some cases this resulted in Publisher and Subscriber disconnects reported as ‘1610’ and ‘1600’ errors respectively.

  • As part of our quality testing we have discovered that on relayed sessions the quality of the video between different H.264-enabled platforms is not acceptable according to our standards. Due to this, we disabled H264 codec in 2.9.0 SDK and will be re-enabled in the future versions.

Android SDK

  • This version adds 64-bit support (the armeabi64-v8a architecture).

  • This version adds a Session.getCapabilities() method. Use this method to check whether the client can publish streams to an OpenTok session, based on the role assigned to the token used to connect to the session.

  • Now our default capturer uses Camera 2 API in supported devices, you can also enable Camera 2 API for the devices of your choice by using the new Session constructor which accepts a SessionOptions subclass. More details on Camera 2 API(https://developer.android.com/reference/android/hardware/camera2/package-summary.html).

  • Improved Bluetooth support.

Please note that you need to upgrade your apps to use the latest versions of the OpenTok server SDKs. These now use JSON web tokens (JWT) for authentication. JWT provides increased security along with standards-based encoding, decoding, and verification. The old form of authentication will expire in July 2017. Additionally, if you use the OpenTok REST API (instead of the server SDKs), please use JWT to authenticate calls to the OpenTok REST methods (see this topic on authentication).