10 ratings
  • 1
  • 2
  • 3
  • 4
  • 5
5 star 5
4 star 3
3 star 1
2 star 1
1 star 0
Compatible with
  • Android
  • iOS
  • Windows

IBM MobileFirst SDK 8.0.2017051208


Integrate your Xamarin apps with IBM MobileFirst Platform.

IBM MobileFirst SDK

With the IBM MobileFirst Platform Foundation SDK, C# developers can build rich native enterprise grade mobile apps for iOS and Android devices by using IBM MobileFirst Platform Server.

Note: IBM MobileFirst Platform Foundation was earlier called IBM Worklight Foundation.

Key Highlights

  • Do it all by using C#
  • Single, secure point of integration, management, and deployment that supports the full mobile app lifecycle
  • Access your enterprise backend using MobileFirst Platform Adapters
  • Enterprise grade security for your mobile applications
  • Application management and version control
  • Leverage rich analytics support of MobileFirst Platform
  • Simplified push notification management service
  • Possibility to use your own strongly-typed C# objects and async/await patterns.
  • A unified C#API for iOS and Android.

Dive In

A unified API is provided for iOS and Android. You can write most of the IBM MobileFirst Platform related code in a common shared project that will be used in both the Android project and the iOS project. You can write all the asynchronous code using async/await and event listeners to make your app responsive.

The following code is a simplified subset of the code that is located in the samples. This example show how you can call an IBM MobileFirst adapter that returns a feed of news articles and is formatted for pretty printing in platform agnostic code.

In the Android Activity, instantiate the Android specific WorklightClient object.

        public class MainActivity : Activity
            IWorklightClient client = Worklight.Xamarin.Android.WorklightClient.CreateInstance (this);

In the iOS UIViewController instantiate the iOS specific WorklightClient

    public partial class Xtest_iOSViewController : UIViewController
        public override void ViewDidLoad ()
            base.ViewDidLoad ();
            IWorklightClient client =  Worklight.Xamarin.iOS.WorklightClient.CreateInstance ();

After you created the instance of IWorklightClient, you can use it to write platform agnostic common code. You first connect to the MobileFirst Server, and register a Challenge handler for authentication. As you do so, you can write to the local logging as well as the server-based analytics logging.

        //all this is common code
        public async Task<WorklightResponse> Connect()
            string appRealm = "SampleAppRealm";
            ChallengeHandler customCH = new CustomChallengeHandler (appRealm);
            WorklightResponse task = await client.Connect ();
            //lets log to the local client (not server)
            client.Logger("Xamarin").Trace ("connection");
            //write to the server the connection status
            client.Analytics.Log ("Connect response : " + task.Success);
            return task;

Then call an adapter procedure

        //Common code
        StringBuilder uriBuilder = new StringBuilder()
                    .Append("/ResourceAdapter") //Name of the adapter
                    .Append("/balance");    // Name of the adapter procedure

        WorklightResourceRequest rr = client.ResourceRequest(new Uri(uriBuilder.ToString(),UriKind.Relative,

        WorklightResponse resp = await rr.Send();

        result.Success = resp.Success;
        result.Response = resp.Success ? "Your account balance is " + resp.ResponseText : resp.Message; 

For more information see the sample inside the component for more details.

Release Notes



  • This iFix introduces a new implementation of Application Authenticity. Read more about this implementation here
  • This iFix introduces support for BitCode in iOS.
  • Modified the default scope for WorklightResourceRequest and WorklightAuthorizationManager.ObtainAccessToken() calls to the MobileFirst server.


  • Changed the versioning scheme to include the date stamp.
  • Fixed an issue where the callbacks of SecurityCheck challenge handlers were not being called.
  • Fixed an issue where the WorklightResourceRequest.SetHeaders() API was not sending the specified headers to the MobileFirst server.

  • Fixed an issue on iOS where a relative URI could not be used in a WLResourceRequest call.
  • Fixed an issue on iOS where custom analytics data did not correctly show up on the MobileFirst server Analytics console.
  • Fixed an issue on Android where tapping on a Push notification in the notification drawer would not open the correct notification in the app.
  • The sample shipped with the component is modified to be compatible with MobileFirst Push v8.

  • Fixed an issue where WorklightPush.RegisterDevice() API hangs on Android when the required permissions are not provided in the AndroidManifest.xml

  • Added APIs for sharing simple data (such as access tokens) between two apps on the same device
  • Fixed an issue on iOS where two calls were made to the MobileFirst server when form parameters were added to the request.
  • Fixed an issue on iOS where challenge answers to the server were appended with additional JSON data.

  • Updated the SDK for IBM MobileFirst Platform Foundation v8
  • Give your mobile apps the power of the cloud using Mobile Foundation on IBM Bluemix
  • The Xamarin SDK is available as a PCL providing a common API across Android, iOS and Windows

See what's new in IBM MobileFirst Platform Foundation v8

  • Fixed an issue where the device sent double the number of Analytics events to the MobileFirst server when using the WLResourceRequest API with form parameters.

  • Fixed an issue where invokeProcedure with a timeout specified was not sending the right data to the MobileFirst server on Android.
  • Fixed an issue where the user credentials were note passed to the server correctly when challenged by and Adapter based Authenticator on Android.

  • Fixed issues which caused data to be stored in incorrect format for JSON objects.
  • Added new methods to send analytics data to the MobileFirst server
  • Other bug fixes


  • Fixed an issue which prevented adding Cookies to WorklightClient.CookieStore on iOS.
  • Fixed an issue which prevented adding non-string objects to a JSONStore Collection.


  • Target framework updated to API level 23. This allows the MobileFirst SDK to be used in Xamarin Forms 2.0 projects.
  • Fixed an issue where communication to the MobileFirst server through IBM Tivoli Access Manager WebSEAL failed.