This repository implements the BlinkID binding project for Xamarin.Forms and .NET MAUI. The binding provides C# wrappers for the BlinkID Android and iOS SDKs.
- Omnicasa.Mobile.BlinkID.Droid - Xamarin Android binding for BlinkID Core
- Omnicasa.Mobile.BlinkID.iOS - Xamarin iOS binding for BlinkID
- Omnicasa.Mobile.BlinkID.Maui.Droid - .NET MAUI Android binding for BlinkID Core
- Omnicasa.Mobile.BlinkID.Maui.iOS - .NET MAUI iOS binding for BlinkID
- Omnicasa.Mobile.BlinkID.UX.Maui.Droid - .NET MAUI Android binding for BlinkID UX (currently uses Core only)
- Omnicasa.Mobile.BlinkID.Shared - Shared code for Xamarin projects
- Omnicasa.Mobile.BlinkID.Shared.Maui - Shared code for .NET MAUI projects
Current binding supports BlinkID SDK version 7.5.0.
- Kotlin suspend functions (like initializeSdk) cannot be directly bound to C# due to Continuation parameter limitations
- The binding generates 115+ C# classes from the core BlinkID AAR
| Category | Package |
|---|---|
| Binding | |
| Omnicasa.Mobile.BlinkID.iOS | |
| Omnicasa.Mobile.BlinkID.Droid | |
| Omnicasa.Mobile.BlinkID.Maui.iOS | |
| Omnicasa.Mobile.BlinkID.Maui.Droid | |
| Shared – Xamarin | |
| Omnicasa.Mobile.BlinkID.Shared | |
| Omnicasa.Mobile.BlinkID.Shared.iOS | |
| Omnicasa.Mobile.BlinkID.Shared.Droid | |
| Shared – .NET 8 | |
| Omnicasa.Mobile.BlinkID.Maui.Shared |
container.Register<IBlinkIDService, BlinkIDService>();
private IBlinkIDService GetBlinkIDService()
{
return StandardLocator?.Resolve<IBlinkIDService>();
}GetBlinkIDService()
.Initialize("License")
.Subscribe(success =>
{
System.Diagnostics.Debug.WriteLine($"Subscribe GetBlinkIDService: {success}");
});BlinkIDService?
.Scan()
.Catch((Exception e) =>
{
System.Diagnostics.Debug.WriteLine(e.StackTrace);
return Observable.Return<CardRecognizer>(null);
})
.Subscribe(card =>
{
System.Diagnostics.Debug.WriteLine(card.FirstName);
});