MobiledgeX SDK Release Notes

Last Modified: 9/24/2020

With every release, MobiledgeX endeavors to make our platform more accessible and efficient for developers to build cutting edge applications. We look to our developer community to help inform which features we should prioritize as the MobiledgeX platform continues to advance. If you have any feedback or questions when using our platform, please contact Vasanth Mohan in the MobiledgeX Slack Community.

MobiledgeX SDK 2.1.3

September 24th, 2020

What's New

Unity

  • SDK Version displayed in MobiledgeX Editor Window.
  • You can use fallback location in production, if your device doesn't support Location Services use mobiledgeXIntegration.useFallBackLocation = true.
  • ComputerVision Example added to the SDK.
  • Optional region selection to connect to an app instance in a specific region (works in Unity Editor Only).
  • Easier support for Magic Leap and non-mobile devies.

Android

  • Added a log message to clarify that the SDK can only be used after granting location permissions and then calling MatchingEngine.setMatchingEngineLocationAllowed(true).

ALL

  • LProto.UDP has been fixed and now returns the correct mapped UDP Port.

Computer Vision

  • Deployed GPU specific Computer Vision app instances with the App Name ComputerVision-GPU for Object and Pose Detection

Known Issues

If you receive the following error and cannot compile your Unity project, restart Unity.

MobiledgeX SDK 2.1.2

July 21st, 2020

What's New

Unity

  • Added .NET 4.x support for the SDK.
  • Added a Remove Function to the SDK Menu to make it easy to uninstall our SDK and upgrade to a newer version.
  • Added an optional auhentication token field to the MobiledgeXSettings asset.
  • For iOS Builds, added a fallback on to the wifi dme when on a roaming network. This is because iOS does not provide information about the roaming carrier network.
  • Added an EnsureLocation function to LocationServices. If you are using Location Services, please wait on this function for your app to get valid GPS location data from your device.
  • Renamed MobiledgeXSocketClient to MobiledgeXWebsocketClient
  • MobiledgeXWebsocketClient now sends Binary instead of Text

iOS

  • Added a fallback on to the wifi dme when on a roaming network. This is because iOS does not provide information about the roaming carrier network.
  • Renamed getHTTPConnection to getHTTPClient

Bug Fixes

  • Fixed an issue where the Unity SDK passed the wrong carrier name when searching for any carrier in Find Cloudlet
  • Fixed an issue where Find Cloudlet Performance mode was not returning location data

Upgrade From 2.1.0

Unity

In order to upgrade to the latest version of the SDK, you will need to do the following:
1. Delete the following files & folders from the Assets folder of the project. In future updates, you can use the new Remove menu function instead.
* Assets/link.xml
* Assets/Plugins/MobiledgeX/*
* Assets/Resources/MobiledgeXSettings.asset

  1. Re-add the Unity Git Package to your project by going to the Unity Package Manager and re-inputting the Git URL (https://github.com/mobiledgex/edge-cloud-sdk-unity.git). For more detailed instructions on this procedure, take a look at the Unity SDK guide.

Documentation

New Guides Have Been Added on how to use the mcctl tool:
1. How to use the mcctl utility for Developers
2. mcctl utility Reference Guide

Known Issues

If you receive the following error and cannot compile your Unity project, restart Unity.

MobiledgeX SDK 2.1.0

June 17th, 2020

Upgrade

Android

In your application build.gradle project file, please update the following lines with the correct version number so that the new MobiledgeX libraries can be downloaded. Click sync gradle file if prompted by the Android Studio IDE in order to start the upgrade.

dependencies {
   // ...
   implementation "com.mobiledgex:matchingengine:2.1.0"
   implementation 'com.mobiledgex:mel:1.0.11'
}

Additionally, the following functions have changed and you will need to update your app appropriately:
* The retrieveNetworkCarrierName function has been renamed to GetCarrierName to be consistent across all our SDKs.

Unity

In order to upgrade to the latest version of the SDK, you will need to do the following:
1. Delete the following files & folders from the Assets folder of the project. In future updates, we plan to automatically delete these for you.
* Assets/link.xml
* Assets/Plugins/MobiledgeX/*
* Assets/Resources/MobiledgeXSettings.asset

  1. Re-add the Unity Git Package to your project by going to the Unity Package Manager and re-inputting the Git URL (https://github.com/mobiledgex/edge-cloud-sdk-unity.git). For more detailed instructions on this procedure, take a look at the Unity SDK guide.

Additionally, a few function names have changed on the MobiledgeXIntegration class. If you were using any of the following functions, here is what you need to update:
* Major: FindCloudlet now returns a bool instead of the FindCloudletReply.
* Major : GetLocationFromDevice is now a private function. If you need to get Location data, please use the Location Services class.
* Major : GetWebsocketConnection no longer calls RegisterAndFindcloudlet on behalf of developers. You will now need to call that function first, followed by calling the newly added GetAppPort function in order to use GetWebsocketConnection.
* Major : The GetURI function has now been renamed to GetURL. GetURL now returns an L7 url as a string, given an L7 protocol i.e. http, https, ws, etc.
* Minor: The useWifiOnly function has now been renamed to UseWifiOnly
* Minor : The function IsEdgeEnabled is now a private function.

New Features

  • FindCloudlet now has an optional parameter called FindCloudletMode, which is an enum that supports two modes: Proximity and Performance. By default, FindCloudlet will use Proximity, which will return the same App Instance that is served via the DME. In Performance mode, the SDK will test all App Instances on a cloudlet and return back the App Instance with the lowest latency.
  • New public functions for all SDKs on the Matching Engine Class : getHost(FindCloudletReply, AppPort) & getPort(AppPort). Together, both functions can be used to create the URI for the application instance returned via FindCloudlet.
  • For Unity only, the SDK automatically fills in the App Name in the MobiledgeXSettings Window based on the Application Name in your Unity Project. If the App Name you deployed to MobiledgeX does not match the Application Name of your Unity project, please update the App Name in the MobiledgeXSettings Window to match the App Name that has been deployed to MobiledgeX.

Documentation

  • New Guide documenting the API of Computer Vision Sample Application. Useful if you want to deploy the open source Computer Vision server to one of the MobiledgeX cloudlets and connect to it with a client app.
  • The Unity Ping Pong Sample Application has been updated to use the 2.1 Unity SDK and new import procedure. We have also updated the Ping Pong Guide to walk you through how to setup the Unity SDK using the package manager.

Known Issues

If you receive the following error and cannot compile your Unity project, restart Unity.

iOS

On iOS, if you are on a roaming network, the MCCMNC the SDK returns is the MCCMNC of your original network instead of the MCCMNC of your current roaming network, which is not the intended behavior.

MobiledgeX SDK 2.0.0

May 5th, 2020

Upgrade

If you were using an older version of any of the SDKs, follow the instructions on our SDK & Libraries page for the specific platform and download the latest release, then upgrade your project.

Recommendations:

  • Android: Use the createDefaultRequest, which has the majority of the defaults set via the Builder API. API refers to the functions listed below.

  • Swift, Unity, C#: Optional parameters are now included in the APIs. Named parameters are available if a parameter is included in the create request for thing such as AuthToken, Tags, Cell ID, etc. A list of all optional parameters can be found on our API documentation.

  • Unity: Re-download the Integrations scripts from the edge cloud sample apps if you were using them prior to this release.

New Features

The following functions are provided by our SDKS (Android, Unity, iOS) to connect to a deployed cloudlet. Please refer to our API documentation for API examples used within each SDK.

Function Description What's New
RegisterClient Registers the client with the closest Distributed Matching Engine (the nearest edge location in the Operator network) and validates the legitimacy of the mobile subscriber. All session information is encrypted.
  • All SDKs: parameter dev_name has been renamed to org_name
  • All SDKs: carrier_name has been removed as a parameter
FindCloudlet Locates the most optimal edge computing footprint and allows the registered application to find the application backend by leveraging location, application subscription, and service provider agreement. If there are no suitable cloudlet instances available, the client may connect to the application server located in the public cloud.
  • All SDKs: Added a performance test to return the most suitable cloudlet based on network latency
  • All SDKs: Added “wifi“ as a potential value for carrier_name in order to connect to a clouldet without a cellular connection
  • All SDKs: pp_name, app_version, and org_name parameters are no longer used.
VerifyLocation Verifies that the GPS coordinates accurately report the actual location of the device. N/A
GetConnection Function that gets a “connection” object (depending on Protocol of specified connection and language) bound to the cellular interface and connected to the application backend. Unity: Patched GetHTTPConnection to connect to the correct URL
PerformanceMetrics Performance Metrics API tracks the average latency of the edge network for your application server’s Application Instance. All SDKs: NetTest now has direct testing options if it is desired to run outside FindCloudlet

Documentation

New Workflow Tutorial added using GitHub Actions to deploy Docker applications to the MobiledgeX Edge-Cloud Console.

Known Issues

There are no known issues documented at this time.