Introducing Azure Communication Services UI Library to Xamarin
Overview
A few months ago we released the Azure Communication Services UI Library for iOS & Android (https://techcommunity.microsoft.com/t5/azure-communication-services/azure-communication-services-ui-library-now-available-for-ios/ba-p/3556319). Today we are excited to share our first efforts with Cross-Platform development. To help empower more mobile developers around the world we have created a Xamarin sample to showcase how to introduce calling capabilities into their current applications.
The sample will walk through steps on how Xamarin developers can create a binding for the iOS and Android platform. These binding libraries allow a Xamarin application to consume and third-party native library.
Using the Samples
The great thing about our sample repo is that developers can just dive into our repo and take our bindings as is and include them in their project.
Developers can check out the contents on XamariniOSBindings. There is a pre-built proxy library that bridges the Swift interface to Objective-C already, feel free to copy and edit these to your needs. There is also a helpful script developers can use to build the FATFrameworks for the bindings.
CommunicationUIProxy.Binding contains the solution that builds the .dll that can be used in your Xamarin Application. In your applications iOS.csproj you can add our newly created iOS binding .dll under the references folder.
Learn more about creating iOS bindings here: Walkthrough: Bind an iOS Swift library - Xamarin | Microsoft Docs
The contents of XamarinAndroidBindings has multiple folders in it. AzureCore, AzureCommunicationCommon, and CommunicationUILibrary. Each contain their own solution and csproj. Developers can reference these csproj directly in their solution or use the .dll files they generated in their own application. Let's not forget to include our AzureCommunicationCalling .aar as an AndroidAarLibrary build item.
Learn more about creating Android bindings here: Binding an .AAR - Xamarin | Microsoft Docs
Now that the binding libraries are included, we can update the source code of the app and use the new public apis.
Finally! Our app now can launch the UI composite. We now have an audio and video experience embedded into the app.
Of course, you can always just run our sample solution in the repo, play around and see how things work. You will notice you can launch the experience and it will be identical to how you expect native behavior to be.
Check out: Azure-Samples/communication-services-ui-library-xamarin: UI sample library on how to create Xamarin bindings (github.com) to learn more!
Published on:
Learn moreRelated posts
Azure Developer CLI (azd): Run and test AI agents locally with azd
New azd ai agent run and invoke commands let you start and test AI agents from your terminal—locally or in the cloud. The post Azure Developer...
Microsoft Purview compliance portal: Endpoint DLP classification support for Azure RMS–protected Office documents
Microsoft Purview Endpoint DLP will soon classify Azure RMS–protected Office documents, enabling consistent DLP policy enforcement on encrypte...
Introducing the Azure Cosmos DB Plugin for Cursor
We’re excited to announce the Cursor plugin for Azure Cosmos DB bringing AI-powered database expertise, best practices guidance, and liv...
Azure DevOps Remote MCP Server (public preview)
When we released the local Azure DevOps MCP Server, it gave customers a way to connect Azure DevOps data with tools like Visual Studio and Vis...
Azure Cosmos DB at FOSSASIA Summit 2026: Sessions, Conversations, and Community
The FOSSASIA Summit 2026 was an incredible gathering of developers, open-source contributors, startups, and technology enthusiasts from across...
Azure Cosmos DB at FOSSASIA Summit 2026: Sessions, Conversations, and Community
The FOSSASIA Summit 2026 was an incredible gathering of developers, open-source contributors, startups, and technology enthusiasts from across...
Dataverse: Avoid Concurrency issues by using Azure Service Bus Queue and Azure Functions
Another blog post to handle the concurrency issue. Previously, I shared how to do concurrency via a plugin in this blog post and also how to f...
March Patches for Azure DevOps Server
We are releasing patches for our self‑hosted product, Azure DevOps Server. We strongly recommend that all customers stay on the latest, most s...
Azure Developer CLI (azd): Debug hosted AI agents from your terminal
New azd ai agent show and monitor commands help you diagnose hosted AI agent failures directly from the CLI. The post Azure Developer CLI (azd...