If functionality is needed that isn't included in the built-in modules or extensions, the hybrid integration can be extended to provide custom modules with properties, methods, and events.
Contact sales@wisej.com to get a quote for custom integrations.
Handlers
Handlers are used to link the server-side and client-side (MAUI) integrations. Handlers implement the IClientHandler interface and provide several methods for processing requests from a Wisej.NET application which can be used to wire custom properties, methods, and events.
var result =Device.PostModalMessage("math","add",1,2);
Information Providers
Information providers are used to extend the Device.Info member. They provide information on startup about the client hybrid device and its capabilities. New information providers can be registered by adding a new IClientInfoProvider.
Example Client-Side Information Provider
/// <summary>/// Provides a random Guid on startup./// </summary>publicclassGuidInfoProvider:IClientInfoProvider{ /// <summary> /// Creates a new instance of <seecref="GuidInfoProvider"/>. /// </summary>publicGuidInfoProvider() { }Dictionary<string,string> IClientInfoProvider.ProvideConfiguration() {var config =newDictionary<string,string>();foreach (var property intypeof(VersionTracking).GetProperties()) {config.Add("guid",Guid.NewGuid().ToString()); }return config; }}
Example Implementation on Server
publicclassDeviceGuidInfo{publicDeviceGuidInfo() {var base64 =Application.QueryString["info"];using (var stream =newMemoryStream(Convert.FromBase64String(base64))) {var info =JSON.Parse(stream);this.Guid=info.guid; } } /// A random guid.publicstring Guid {get;internalset; }}