15.0

In August, 2022, Help Lightning released 15.0 of its server and client SDKs. The primary change is the support of Messaging and Audio+ Mode.

Server Changes

While this release brought in significant new client side features, there are minimal changes to the RESTful API. As will all Help Lightning releases, all API changes are backward compatible!

This release does NOT include a RESTful API for interacting with Help Lightning’s out of call messaging. A RESTful API may be included in a future release.

API Changes

POST /v1r1/session/video

Messaging allows creating sessions with more than two users in it. It is now also possible to initiate signaling (ringing, accepting/declining) on a session with more than two users. Previously, when initiating signaling, only a single request_id was returned. Now, a list of request_ids will be returned, so that each response can be handled independently.

This affects the start_video_session API. To keep compatibility, the API will continue to include the FIRST request_id in the request_id field. However, implementors using this API should move to use the new request_ids field, which is a list of all the requests.

Webhooks

attachment_created

The attachment_created webhook hasn’t been changed, however, it will now also be called at the end of a call IF a chat log is uploaded. This will have a new type of chat_log. This is a json file that contains the entire chat log in Help Lightning’s markdown flavor.

Client SDK Changes

The 15.0 Client SDKs support Help Lightning’s Audio+ Mode, which is a fallback mode when there isn’t enough bandwidth for live video, and Help Lightning’s new In Call Messaging feature.

At this time, the SDKs do NOT support Help Lightning’s out of call messaging!

The 15.0 Client SDKs have several changes from 14.6 that you may want to consider. While there are no API changes, there may be some additional dependencies that you need to include and some new icons that can optionally be themed.

Web SDK

The 15.0 SDK for the web is versioned as 4.46.x with the latest version being 4.46.0.

jQuery

The biggest change is that the SDK no longer bundles jQuery directly, so you can use your own version. However, the SDK still needs jQuery, so make sure you have it included before including the Help Lightning SDK!

    <!-- Load help lightning JS SDK -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://helplightning.net/sdk/4.46.0/helplightning.min.js"></script>
    <script src="https://helplightning.net/sdk/4.46.0/opentok-enterprise/opentok.min.js"></script>
    <script src="https://helplightning.net/sdk/4.46.0/pdf_viewer/build/pdf.min.js"></script>
    <script src="https://helplightning.net/sdk/4.46.0/opencv/opencv.js" async></script>

Custom Icons

The two large features of messaging and Audio+ mode brought about new changes to the In Call user interface. If you use custom icons to theme your interface, you will want to consider overriding the following:

-------- Audio+ Icons --------
IMAGE_MAINMENU_CALL_QUALITY
IMAGE_MAINMENU_CALL_QUALITY_720P
IMAGE_MAINMENU_CALL_QUALITY_480P
IMAGE_MAINMENU_CALL_QUALITY_AUDIO_PLUS
IMAGE_MAINMENU_CALL_QUALITY_720P_SELECTED
IMAGE_MAINMENU_CALL_QUALITY_480P_SELECTED
IMAGE_MAINMENU_CALL_QUALITY_AUDIO_PLUS_SELECTED
IMAGE_MAINMENU_AUDIO_PLUS
IMAGE_MAINMENU_SDVIDEO
IMAGE_MAINMENU_HDVIDEO
IMAGE_MAINMENU_AUDIO_PLUS_SELECTED
IMAGE_MAINMENU_SDVIDEO_SELECTED
IMAGE_MAINMENU_HDVIDEO_SELECTED
IMAGE_CAMERAMENU_LIVE_VIDEO_OFF_RED

IMAGE_CALL_QUALITY_INDICATOR_HD720P
IMAGE_CALL_QUALITY_INDICATOR_SD480P
IMAGE_CALL_QUALITY_INDICATOR_AUDIO_PLUS_MODE

-------- Message Icons --------
IMAGE_MESSAGE_SEND_BUTTON
IMAGE_MESSAGE_VIDEO
IMAGE_MESSAGE_PLUS
IMAGE_MESSAGE_PHOTO_FILM
IMAGE_MESSAGE_PHONE_FLIP
IMAGE_MESSAGE_PAPERCLIP
IMAGE_MESSAGE_MAGNIFYING_GLASS
IMAGE_MESSAGE_FOLDER_OPEN
IMAGE_MESSAGE_XMARK
IMAGE_MESSAGE_XMARK_SOLID
IMAGE_MESSAGE_INFO
IMAGE_MESSAGE_CAMERA
IMAGE_MESSAGE_ANGLE_RIGHT
IMAGE_MESSAGE_ANGLE_LEFT
IMAGE_MESSAGE_CHAT
IMAGE_MESSAGE_ELLIPSIS
IMAGE_MESSAGE_RETRY_BUTTON
IMAGE_MESSAGE_GROUP
IMAGE_MESSAGE_FILE

-------- Audio Is Blocked by System Icon --------
IMAGE_AUDIO_BLOCKED

-------- Outgoing Call to Expert Group Icon --------
EXPERT_GROUP

iOS SDK

The biggest change is that the SDK is now available in Cocoapods! Please make sure you have added the Help Lightning repository:

source 'https://github.com/VIPAAR/Specs.git'
pod 'HLSDK', '15.0.2'

The second change, is that the SDK now targets iOS 13.0. Please make sure you update the target version!

Custom Icons

Audio+ and Messaging brought about some new icons. The following are new icons that can be themed in the iOS SDK:

// Audio plus mode
extern NSString *const kHLImageAudioPusMode;
extern NSString *const kHLImageCallQualityAudio;
extern NSString *const kHLImageCallQualityHD;
extern NSString *const kHLImageCallQualitySD;
extern NSString *const kHLImageCameraDisabled;

// Chat
extern NSString *const kHLImageChatGroupAvatar;
extern NSString *const kHLImageChatMoreAction;
extern NSString *const kHLImageChatSend;
extern NSString *const kHLImageChatPlaceholder;

Android SDK

The 15.0 SDK for Android is versioned as 1.14.x with the latest version being 1.14.2.

To use the new version of the SDK, you will need to do the following:

  • Add maven { url 'https://jitpack.io' }
  • Update the Android Target SDK to at least version 30

API Changes

The HLCall object takes one additional boolean value. By default, this should be set to true, however, if you’d like to force a call to start in Audio+ mode, then you can set this to false

public HLCall(String sid, String sessionToken, String userToken,
              String gssUrl, String helplightningAPIKey, String localUserDisplayName,
              String localUserAvatarUrl, boolean autoEnableCamera, 
              boolean autoEnableMicrophone, 
              boolean autoEnableAudioPlusMode)

Custom Icons

Audio+ and Mesagging brought about some new icons. The following are new icons that can be themed in the Android SDK.

IMAGE_CAMERA_MENU_CAMERA_OFF has been renamed to IMAGE_CAMERA_DISABLED
IMAGE_MESSAGE_CHAT
IMAGE_MESSAGE_SEND_BUTTON
IMAGE_MESSAGE_PAPERCLIP
IMAGE_MESSAGE_PHOTO_FILM
IMAGE_MESSAGE_FOLDER_OPEN
IMAGE_MESSAGE_CAMERA
IMAGE_MESSAGE_GROUP
IMAGE_MESSAGE_XMARK
IMAGE_MESSAGE_FILE
IMAGE_MESSAGE_VIDEO
IMAGE_MESSAGE_PDF
IMAGE_CALL_QUALITY_HD
IMAGE_CALL_QUALITY_SD