Introducing Azure Communication Services UI Library to Xamarin & .NET MAUI
Introducing Azure Communication Services UI Library to Xamarin & .NET MAUI
Azure Communication Services provides Calling Composite experiences on mobile platforms, a library that makes it easy for developers to include a calling experience into their application. With a goal of empowering more mobile developers worldwide; the Azure Communication Services team is excited to share that we have created a .NET MAUI and Xamarin sample to showcase how to introduce calling capabilities into your current applications.
What is the UI Library
The Azure Communication Services UI library offers Composites, that takes only a couple lines of code to add and configure. These composites are end-to-end to integrate into your existing applications. Our UI libraries provide an out of the box experience; it takes care of connecting to the call, and it sets up the user's participation in the call behind the scenes. They also provide developers with an experience that is fully accessible and localizable for their target audience.
If you want to learn more about the Azure Communication Services UI Library, please visit the UI Library documentation on the Learn platform.
What is .NET MAUI
Introducing MAUI: .NET Multi-platform App UI (.NET MAUI) | .NET (microsoft.com)
Many developers are already familiar with Xamarin.Forms, but last year Microsoft introduced us to .NET MAUI. .NET MAUI is open-source and is the next evolution of Xamarin.Forms. Using .NET MAUI, developers can create apps that can run on Android, iOS, macOS, and Windows from a single shared codebase.
Getting Started
Using the Samples
The samples will walk you through steps on how developers can create a binding for iOS and Android platforms. These binding libraries allow your cross-platform application to consume a third-party native library.
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 bindings. 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.
The way .NET MAUI and Xamarin need to build bindings is the same so the implementation should be the same regardless of which one you are using.
iOS bindings have the solution that builds the `.dll` that can be used in your application. In your applications `.csproj` you can add our newly created 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 Android bindings have multiple folders in it. Each contains 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 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! Your 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 our samples to learn more!
Published on:
Learn moreRelated posts
Azure SDK Release (October 2025)
Azure SDK releases every month. In this post, you'll find this month's highlights and release notes. The post Azure SDK Release (October 2025)...
Microsoft Copilot (Microsoft 365): [Copilot Extensibility] No-Code Publishing for Azure AI Foundry Agents to Microsoft 365 Copilot Agent Store
Developers can now publish Azure AI Foundry Agents directly to the Microsoft 365 Copilot Agent Store with a simplified, no-code experience. Pr...
Azure Marketplace and AppSource: A Unified AI Apps and Agents Marketplace
The Microsoft AI Apps and Agents Marketplace is set to transform how businesses discover, purchase, and deploy AI-powered solutions. This new ...
Episode 413 – Simplifying Azure Files with a new file share-centric management model
Welcome to Episode 413 of the Microsoft Cloud IT Pro Podcast. Microsoft has introduced a new file share-centric management model for Azure Fil...
Bringing Context to Copilot: Azure Cosmos DB Best Practices, Right in Your VS Code Workspace
Developers love GitHub Copilot for its instant, intelligent code suggestions. But what if those suggestions could also reflect your specific d...
Build an AI Agentic RAG search application with React, SQL Azure and Azure Static Web Apps
Introduction Leveraging OpenAI for semantic searches on structured databases like Azure SQL enhances search accuracy and context-awareness, pr...
Announcing latest Azure Cosmos DB Python SDK: Powering the Future of AI with OpenAI
We’re thrilled to announce the stable release of Azure Cosmos DB Python SDK version 4.14.0! This release brings together months of innov...
How Azure CLI handles your tokens and what you might be ignoring
Running az login feels like magic. A browser pops up, you pick an account, and from then on, everything just works. No more passwords, no more...
Boost your Azure Cosmos DB Efficiency with Azure Advisor Insights
Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service, trusted for mission-critical workloads that demand high ava...
Microsoft Azure Fundamentals #5: Complex Error Handling Patterns for High-Volume Microsoft Dataverse Integrations in Azure
🚀 1. Problem Context When integrating Microsoft Dataverse with Azure services (e.g., Azure Service Bus, Azure Functions, Logic Apps, Azure SQ...