Loading...

Introducing Azure Communication Services UI Library to Xamarin & .NET MAUI

Introducing Azure Communication Services UI Library to Xamarin & .NET MAUI

kdunning110_1-1677618895417.png

 

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.  

 

joshlai_microsoft_1-1677537513214.png

 

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!  

 

.NET MAUI Azure-Samples/communication-services-ui-library-maui: UI sample library on how to create .NET MAUI bindings (github.com) 

Xamarin Azure-Samples/communication-services-ui-library-xamarin: UI sample library on how to create Xamarin bindings (github.com)

Published on:

Learn more
Azure Communication Services Blog
Azure Communication Services Blog

Azure Communication Services Blog articles

Share post:

Related posts

Automating Business PDFs Using Azure Document Intelligence and Power Automate

In today’s data-driven enterprises, critical business information often arrives in the form of PDFs—bank statements, invoices, policy document...

3 days ago

Azure Developer CLI (azd) Dec 2025 – Extensions Enhancements, Foundry Rebranding, and Azure Pipelines Improvements

This post announces the December release of the Azure Developer CLI (`azd`). The post Azure Developer CLI (azd) Dec 2025 – Extensions En...

6 days ago

Unlock the power of distributed graph databases with JanusGraph and Azure Apache Cassandra

Connecting the Dots: How Graph Databases Drive Innovation In today’s data-rich world, organizations face challenges that go beyond simple tabl...

8 days ago

Azure Boards integration with GitHub Copilot

A few months ago we introduced the Azure Boards integration with GitHub Copilot in private preview. The goal was simple: allow teams to take a...

9 days ago

Microsoft Dataverse – Monitor batch workloads with Azure Monitor Application Insights

We are announcing the ability to monitor batch workload telemetry in Azure Monitor Application Insights for finance and operations apps in Mic...

10 days ago

Copilot Studio: Connect An Azure SQL Database As Knowledge

Copilot Studio can connect to an Azure SQL database and use its structured data as ... The post Copilot Studio: Connect An Azure SQL Database ...

11 days ago

Retirement of Global Personal Access Tokens in Azure DevOps

In the new year, we’ll be retiring the Global Personal Access Token (PAT) type in Azure DevOps. Global PATs allow users to authenticate across...

13 days ago

Azure Cosmos DB vNext Emulator: Query and Observability Enhancements

The Azure Cosmos DB Linux-based vNext emulator (preview) is a local version of the Azure Cosmos DB service that runs as a Docker container on ...

14 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy