14.6
On November 19th, 2021, Help Lightning released 14.6 of its server and client SDKs. The primary change is the support of the new European Data Center.
The European Data Center is a completely separate environment. Accounts do not exists in both environments. When a new Enterprise Site is created, it has to be created in the desired data center, and cannot be migrated once created.
As a developer, you must have a separate developer account and API Key for each data center you plan to support!
The APIs for the new European data center are the exact same. The two data centers will always be running the same version of the server software, with the same APIs available.
To use the European data center, you will need to use the new European API Endpoint:
https://api.eu1.helplightning.net/api/
Accounts and API keys do not cross over between data centers. You will need a separate developer account for the European data center, and will need to generate a new API Key for the European Data Center.
The 14.6 SDKs are backward compatible. If you don’t plan to support the European data center, you can upgrade without any code changes. This will give you access to several new in call features and bug fixes.
The primary change in the client SDKs, is that the SDKs now support an
OPTIONAL parameter when starting a call. If no parameter is passed
in, all SDKs will use the existing US
data center as the default.
The 14.6 SDK for the web is versioned as 4.40.2
The startCall
function now takes an optional 3rd parameter, which is
the data center. This defaults to US
. Valid parameters are:
US
EU
let callClient = HL.CallClientFactory.CallClient;
// set up delegates
...
const call = new HL.Call(session_id, session_token, user_token,
ws_url, helplightningApiKey, 'Name,
'Avatar URL');
callClient.startCall(call, container, 'US').then((callId) => {
...
}
The 14.6 SDK for Android is versioned as 1.10.1
The startCall
method now takes an optional 4th parameter, which is
the data center. This defaults to
com.vipaar.lime.hlsdk.misc.Environment.DataCenter.US
which is the US
data center. Valid parameters are:
com.vipaar.lime.hlsdk.misc.Environment.DataCenter.US
:: US Data Centercom.vipaar.lime.hlsdk.misc.Environment.DataCenter.EU
:: European Data Center
Example:
import com.vipaar.lime.hlsdk.misc.Environment;
...
Environment.DataCenter dataCenter = Environment.DataCenter.US;
HLClient.getInstance().startCall(sessionData, rootView.getContext(), SampleInCallService.class, dataCenter)
.then(result -> {
...
}, err -> {
...
});
The 14.6.0 SDK for iOS is available here.
The startCall
function now takes an optional 3rd parameter, which is
the data center. This defaults to kHLDataCenterID_US1
. Valid parameters are:
kHLDataCenterID_US1
:: US Data CenterkHLDataCenterID_EU1
:: European Data Center
Swift Example:
let promise = HLClientSwift.shared.startCall(call: call, viewController: self, dataCenterId: kHLDataCenterID_US1)
promise.then { (bool) in
NSLog("The call has started")
}
promise.catch { (error) in
self.joinIndicator.stopAnimating()
NSLog("Cannot start the call:%@", error.localizedDescription);
}
Objective-C Example:
[HLClient.sharedInstance startCall:call withPresentingViewController:self dataCenter:kHLDataCenterID_EU1].then(^id(id value) {
NSLog(@"The call has started");
return value;
}).catch(^(NSError* error) {
NSLog(@"Cannot start the call:%@", error);
})
The 14.6.0 SDK for Xamarin is available here.
The StartCall
function now takes an optional 3rd parameter, which is
the data center. This defaults to DataCenter.US1
. Valid parameters
are:
DataCenter.US1
DataCenter.EU1
Example:
Task<IDictionary<string, object>> task = CallClientFactory.Instance.CallClient.StartCall(call, this, DataCenter.US1);
task.ContinueWith(t => {
if (t.IsCompletedSuccessfully)
{
Console.WriteLine("The Call has started: " + t.Result[Call.HLCallInfoCallKey]);
}
else
{
Console.Error.WriteLine("Cannot start the call: " + t.Exception);
}
});