With MobileConnect GSMA provides an API for login, transaction authorisation and identity sharing supported by global network operators. By integrating the API developers can allow their users to login and share information using their mobile phone number. MobileConnect is currently deployed with 42 mobile network operators in 22 countries including China, France, Mexico and Pakistan making it available to nearly 3 billion potential customers.
The goal of the project was to create a full featured yet simple to implement SDK to wrap the MobileConnect API with support for ASP.NET, Universal Windows Projects and Windows Phone 8.1 as well as demo applications to provide implementation examples for each of the platforms. The SDK required pluggable caching, token validation, error handling and async support while including minimal external dependencies.
To target all required platforms a portable class library targeting .Net 4.5, Windows 10, Windows 8, ASP.NET Core 1.0 and Windows Phone 8.1. The development was backed by unit tests, integration tests, Sonarqube and Jenkins to ensure code quality and avoid regression.
To make implemetation simple the SDK uses a single class to access all MobileConnect actions, with dependency injection and optional configuration objects available to fully customise the process if required. To ensure support for non-blocking UI and Web API controllers the SDK methods utilise async/await from top to bottom.
The fully documented source code was made available in a public github repository, with a nuget package also available to make implementing the SDK in any supported project type easy.