{"componentChunkName":"component---src-templates-markdown-template-jsx","path":"/developers/client-sdks/maui/getting-started/","result":{"data":{"pageMetadata":{"title":"Getting Started","path":"/developers/client-sdks/maui/getting-started/","sourceCode":null,"metadataParent":{"title":".NET MAUI","path":"/developers/client-sdks/maui/","sourceCode":"https://github.com/mParticle/mparticle-maui-sdk","hasVersionPicker":null,"metadataChildren":[{"title":"Getting Started","path":"/developers/client-sdks/maui/getting-started/","order":1,"label":null},{"title":"Identity","path":"/developers/client-sdks/maui/identity/","order":2,"label":null}],"metadataParent":{"title":"Client SDKs","path":"/developers/client-sdks/","metadataChildren":[{"title":"Alexa","path":"/developers/client-sdks/alexa/","order":1,"label":null},{"title":".NET MAUI","path":"/developers/client-sdks/maui/","order":null,"label":null},{"title":"AMP","path":"/developers/client-sdks/amp/","order":null,"label":null},{"title":"Android","path":"/developers/client-sdks/android/","order":null,"label":null},{"title":"Cordova","path":"/developers/client-sdks/cordova/","order":null,"label":null},{"title":"Direct Url Routing","path":"/developers/client-sdks/direct-url-routing/","order":null,"label":null},{"title":"Flutter","path":"/developers/client-sdks/flutter/","order":null,"label":null},{"title":"iOS","path":"/developers/client-sdks/ios/","order":null,"label":null},{"title":"React Native","path":"/developers/client-sdks/react-native/","order":null,"label":null},{"title":"Roku","path":"/developers/client-sdks/roku/","order":null,"label":null},{"title":"Unity","path":"/developers/client-sdks/unity/","order":null,"label":null},{"title":"Web","path":"/developers/client-sdks/web/","order":null,"label":null},{"title":"Xbox","path":"/developers/client-sdks/uwp/","order":null,"label":null}],"metadataParent":{"title":"Developers","path":"/developers/","metadataChildren":[{"title":"API Credential Management","path":"/developers/credential-management/","order":null,"label":null},{"title":"API References","path":"/developers/apis/","order":null,"label":null},{"title":"Client SDKs","path":"/developers/client-sdks/","order":null,"label":null},{"title":"Guides","path":"/developers/guides/","order":null,"label":null},{"title":"Media SDKs","path":"/developers/media-sdks/","order":null,"label":null},{"title":"Quickstart","path":"/developers/quickstart/","order":null,"label":null},{"title":"Server SDKs","path":"/developers/server-sdks/","order":null,"label":null},{"title":"The Developer's Guided Journey to mParticle","path":"/developers/developersjourney/","order":null,"label":null},{"title":"Tools","path":"/developers/tools/","order":null,"label":null}],"metadataParent":null}}}},"markdownRemark":{"html":"<p>mParticle’s .NET MAUI SDK is compatible with iOS and Android apps. The SDK consists of two .NET libraries (<code class=\"language-text\">net10.0-ios</code> and <code class=\"language-text\">net10.0-android</code>) that wrap mParticle’s native iOS and Android SDKs. It supports iOS 18+ and Android API 34+.</p>\n<p>This SDK targets .NET 10 and replaces the legacy Xamarin SDK. See <a href=\"https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin\">Microsoft’s policy</a> around the end of support for Xamarin.</p>\n<h2 id=\"installation\" style=\"position:relative;\"><a href=\"#installation\" aria-label=\"installation permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>Installation</h2>\n<p>This SDK is distributed via the public NuGet gallery: <a href=\"https://www.nuget.org/packages/mParticle.MAUI/\">https://www.nuget.org/packages/mParticle.MAUI/</a>.</p>\n<p>Add the package to your MAUI project:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-bash line-numbers\"><code class=\"language-bash\">dotnet <span class=\"token function\">add</span> package mParticle.MAUI</code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span></span></pre></div>\n<p>Alternatively, add the NuGet package through the Visual Studio Add Package dialog. <a href=\"https://learn.microsoft.com/en-us/visualstudio/mac/nuget-walkthrough?view=vsmac-2022&#x26;toc=%2Fnuget%2Ftoc.json\">See here</a> for a detailed walkthrough on using NuGet with Visual Studio.</p>\n<h2 id=\"initialize-the-sdk\" style=\"position:relative;\"><a href=\"#initialize-the-sdk\" aria-label=\"initialize the sdk permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>Initialize the SDK</h2>\n<p>The SDK must be initialized with your mParticle workspace key and secret prior to use. This call should be placed in your Xamarin or MAUI application initialization, <em>as early as possible</em>:</p>\n<div class=\"gatsby-highlight\" data-language=\"cs\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-cs line-numbers\"><code class=\"language-cs\"> <span class=\"token comment\">//use the correct workspace API key and secret for iOS and Android</span>\n <span class=\"token class-name\"><span class=\"token keyword\">string</span></span> key <span class=\"token operator\">=</span> <span class=\"token string\">\"REPLACE WITH iOS APP KEY\"</span><span class=\"token punctuation\">;</span>\n <span class=\"token class-name\"><span class=\"token keyword\">string</span></span> secret <span class=\"token operator\">=</span> <span class=\"token string\">\"REPLACE WITH iOS APP SECRET\"</span><span class=\"token punctuation\">;</span>\n\nMParticle<span class=\"token punctuation\">.</span>Instance<span class=\"token punctuation\">.</span><span class=\"token function\">Initialize</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">MParticleOptions</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n    InstallType <span class=\"token operator\">=</span> InstallType<span class=\"token punctuation\">.</span>KnownUpgrade<span class=\"token punctuation\">,</span>\n    Environment <span class=\"token operator\">=</span> Environment<span class=\"token punctuation\">.</span>Development<span class=\"token punctuation\">,</span>\n    ApiKey <span class=\"token operator\">=</span> key<span class=\"token punctuation\">,</span>\n    ApiSecret <span class=\"token operator\">=</span> secret<span class=\"token punctuation\">,</span>\n    IdentifyRequest <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">IdentityApiRequest</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">{</span>\n        UserIdentities <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Dictionary<span class=\"token punctuation\">&lt;</span>UserIdentity<span class=\"token punctuation\">,</span> <span class=\"token keyword\">string</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token comment\">//{ UserIdentity.Yahoo, \"tom@yahoo.com\" },</span>\n        <span class=\"token punctuation\">{</span> UserIdentity<span class=\"token punctuation\">.</span>IOSAdvertiserId<span class=\"token punctuation\">,</span> <span class=\"token string\">\"C56A4180-65AA-42EC-A945-5FD21DEC0538\"</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span> UserIdentity<span class=\"token punctuation\">.</span>CustomerId<span class=\"token punctuation\">,</span> <span class=\"token string\">\"Other Identity\"</span> <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        UserAliasHandler <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>previousUser<span class=\"token punctuation\">,</span> newUser<span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> newUser<span class=\"token punctuation\">.</span><span class=\"token function\">SetUserAttributes</span><span class=\"token punctuation\">(</span>previousUser<span class=\"token punctuation\">.</span><span class=\"token function\">GetUserAttributes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    DevicePerformanceMetricsDisabled <span class=\"token operator\">=</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n    IdDisabled <span class=\"token operator\">=</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n    UploadInterval <span class=\"token operator\">=</span> <span class=\"token number\">650</span><span class=\"token punctuation\">,</span>\n    SessionTimeout <span class=\"token operator\">=</span> <span class=\"token number\">50</span><span class=\"token punctuation\">,</span>\n    LogLevel <span class=\"token operator\">=</span> LogLevel<span class=\"token punctuation\">.</span>INFO<span class=\"token punctuation\">,</span>\n    ConfigMaxAgeSeconds <span class=\"token operator\">=</span> <span class=\"token number\">60</span><span class=\"token punctuation\">,</span>\n    AttributionListener <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">AttributionListener</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">{</span>\n        OnAttributionError <span class=\"token operator\">=</span> error <span class=\"token operator\">=></span> Console<span class=\"token punctuation\">.</span><span class=\"token function\">WriteLine</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"AttributionError\\n\"</span> <span class=\"token operator\">+</span> <span class=\"token string\">\"Error Message = \"</span> <span class=\"token operator\">+</span> error<span class=\"token punctuation\">.</span>Message <span class=\"token operator\">+</span> <span class=\"token string\">\"\\nService Provider = \"</span> <span class=\"token operator\">+</span> error<span class=\"token punctuation\">.</span>ServiceProviderId<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        OnAttributionResult <span class=\"token operator\">=</span> result <span class=\"token operator\">=></span> Console<span class=\"token punctuation\">.</span><span class=\"token function\">WriteLine</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"AttributionResult\\n\"</span> <span class=\"token operator\">+</span> <span class=\"token string\">\"LinkUrl = \"</span> <span class=\"token operator\">+</span> result<span class=\"token punctuation\">.</span>LinkUrl <span class=\"token operator\">+</span> <span class=\"token string\">\"\\nParameters\"</span> <span class=\"token operator\">+</span> result<span class=\"token punctuation\">.</span>Parameters <span class=\"token operator\">+</span> <span class=\"token string\">\"\\nService Provider\"</span> <span class=\"token operator\">+</span> result<span class=\"token punctuation\">.</span>ServiceProviderId<span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    LocationTracking <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">LocationTracking</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"GPS\"</span><span class=\"token punctuation\">,</span> <span class=\"token number\">100</span><span class=\"token punctuation\">,</span> <span class=\"token number\">350</span><span class=\"token punctuation\">,</span> <span class=\"token number\">22</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n    PushRegistration <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">PushRegistration</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">{</span>\n        AndroidSenderId <span class=\"token operator\">=</span> <span class=\"token string\">\"12345-abcdefg\"</span><span class=\"token punctuation\">,</span>\n        AndroidInstanceId <span class=\"token operator\">=</span> <span class=\"token string\">\"android-secret-instance-id\"</span><span class=\"token punctuation\">,</span>\n        IOSToken <span class=\"token operator\">=</span> <span class=\"token string\">\"09876654321qwerty\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></pre></div>\n<h2 id=\"usage\" style=\"position:relative;\"><a href=\"#usage\" aria-label=\"usage permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>Usage</h2>\n<h3 id=\"events\" style=\"position:relative;\"><a href=\"#events\" aria-label=\"events permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>Events</h3>\n<p>The Xamarin and MAUI SDK simply provides bindings for mParticle’s <a href=\"/developers/client-sdks/ios/\">iOS</a> and <a href=\"/developers/client-sdks/android/\">Android</a> SDKs. Refer to the underlying SDK docs for full details on Events. See below for basic implementation examples for MAUI, which all new implementations should be using.</p>\n<h4 id=\"app-events\" style=\"position:relative;\"><a href=\"#app-events\" aria-label=\"app events permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>App Events</h4>\n<div class=\"gatsby-highlight\" data-language=\"cs\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-cs line-numbers\"><code class=\"language-cs\">MParticle<span class=\"token punctuation\">.</span>Instance<span class=\"token punctuation\">.</span><span class=\"token function\">LogEvent</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"AppEvent of type navigation\"</span><span class=\"token punctuation\">,</span> EventType<span class=\"token punctuation\">.</span>Navigation<span class=\"token punctuation\">,</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Dictionary<span class=\"token punctuation\">&lt;</span><span class=\"token keyword\">string</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">string</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">{</span> <span class=\"token string\">\"Cool\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Beans\"</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span></span></pre></div>\n<h4 id=\"commerce-events\" style=\"position:relative;\"><a href=\"#commerce-events\" aria-label=\"commerce events permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>Commerce Events</h4>\n<div class=\"gatsby-highlight\" data-language=\"cs\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-cs line-numbers\"><code class=\"language-cs\"><span class=\"token class-name\"><span class=\"token keyword\">var</span></span> product <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Product</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Chicken\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"SomeSku\"</span><span class=\"token punctuation\">,</span> <span class=\"token number\">123.43</span><span class=\"token punctuation\">,</span> <span class=\"token number\">22.14</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> Brand <span class=\"token operator\">=</span> <span class=\"token string\">\"mybrand\"</span><span class=\"token punctuation\">,</span> Category <span class=\"token operator\">=</span> <span class=\"token string\">\"mycategory\"</span><span class=\"token punctuation\">,</span> CouponCode <span class=\"token operator\">=</span> <span class=\"token string\">\"mycoupon\"</span><span class=\"token punctuation\">,</span> Variant <span class=\"token operator\">=</span> <span class=\"token string\">\"myvariant\"</span><span class=\"token punctuation\">,</span> Position <span class=\"token operator\">=</span> <span class=\"token number\">12</span><span class=\"token punctuation\">,</span> customAttributes <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Dictionary<span class=\"token punctuation\">&lt;</span><span class=\"token keyword\">string</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">string</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">{</span> <span class=\"token string\">\"Tk1\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Tv1\"</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> <span class=\"token string\">\"Tk2\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Tv2\"</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token class-name\"><span class=\"token keyword\">var</span></span> product2 <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Product</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Noodles\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"CoolSku\"</span><span class=\"token punctuation\">,</span> <span class=\"token number\">12.4</span><span class=\"token punctuation\">,</span> <span class=\"token number\">52.4</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> Brand <span class=\"token operator\">=</span> <span class=\"token string\">\"mybrand2\"</span><span class=\"token punctuation\">,</span> Category <span class=\"token operator\">=</span> <span class=\"token string\">\"mycategory2\"</span><span class=\"token punctuation\">,</span> CouponCode <span class=\"token operator\">=</span> <span class=\"token string\">\"mycoupon2\"</span><span class=\"token punctuation\">,</span> Variant <span class=\"token operator\">=</span> <span class=\"token string\">\"myvariant2\"</span><span class=\"token punctuation\">,</span> Position <span class=\"token operator\">=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span> customAttributes <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Dictionary<span class=\"token punctuation\">&lt;</span><span class=\"token keyword\">string</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">string</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">{</span> <span class=\"token string\">\"NTk1\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"NTv1\"</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> <span class=\"token string\">\"NTk2\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"NTv2\"</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token class-name\"><span class=\"token keyword\">var</span></span> products <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Product<span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span></span> <span class=\"token punctuation\">{</span> product<span class=\"token punctuation\">,</span> product2 <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token class-name\"><span class=\"token keyword\">var</span></span> transactionAttributes <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">TransactionAttributes</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"transactionId123\"</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> Affiliation <span class=\"token operator\">=</span> <span class=\"token string\">\"Some Affiliation\"</span><span class=\"token punctuation\">,</span> CouponCode <span class=\"token operator\">=</span> <span class=\"token string\">\"Winner\"</span><span class=\"token punctuation\">,</span> Revenue <span class=\"token operator\">=</span> <span class=\"token number\">400.21</span><span class=\"token punctuation\">,</span> Tax <span class=\"token operator\">=</span> <span class=\"token number\">434.98</span><span class=\"token punctuation\">,</span> Shipping <span class=\"token operator\">=</span> <span class=\"token number\">5.13</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\nMParticle<span class=\"token punctuation\">.</span>Instance<span class=\"token punctuation\">.</span><span class=\"token function\">LogCommerceEvent</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">CommerceEvent</span><span class=\"token punctuation\">(</span>ProductAction<span class=\"token punctuation\">.</span>AddToCart<span class=\"token punctuation\">,</span> products<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> Currency <span class=\"token operator\">=</span> <span class=\"token string\">\"AUD\"</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nMParticle<span class=\"token punctuation\">.</span>Instance<span class=\"token punctuation\">.</span><span class=\"token function\">LogCommerceEvent</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">CommerceEvent</span><span class=\"token punctuation\">(</span>ProductAction<span class=\"token punctuation\">.</span>Purchase<span class=\"token punctuation\">,</span> products<span class=\"token punctuation\">,</span> transactionAttributes<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> CustomAttributes <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Dictionary<span class=\"token punctuation\">&lt;</span><span class=\"token keyword\">string</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">string</span><span class=\"token punctuation\">></span></span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">{</span> <span class=\"token string\">\"TestCommerceAttr\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"TestCommerceVal\"</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>      </code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></pre></div>\n<h4 id=\"screen-events\" style=\"position:relative;\"><a href=\"#screen-events\" aria-label=\"screen events permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>Screen events</h4>\n<div class=\"gatsby-highlight\" data-language=\"cs\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-cs line-numbers\"><code class=\"language-cs\">MParticle<span class=\"token punctuation\">.</span>Instance<span class=\"token punctuation\">.</span><span class=\"token function\">LogScreen</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Home Screen\"</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">Dictionary<span class=\"token punctuation\">&lt;</span><span class=\"token keyword\">string</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">string</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span> <span class=\"token punctuation\">{</span> <span class=\"token string\">\"EventAttributeKey\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"EventAttributeValue\"</span> <span class=\"token punctuation\">}</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span></span></pre></div>\n<h2 id=\"kit-integrations\" style=\"position:relative;\"><a href=\"#kit-integrations\" aria-label=\"kit integrations permalink\" class=\"anchor before\"><svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                    <g id=\"Icon/Link\" fill=\"#98A0A3\" fill-rule=\"nonzero\">\n                        <g id=\"link\">\n                            <path d=\"M9.5,12.4 C9.6,12.4 9.7,12.4 9.9,12.4 C9.8,12.5 9.8,12.5 9.7,12.6 L7.5,14.8 C5.8,16.5 3,16.5 1.3,14.8 C-0.4,13.1 -0.4,10.3 1.3,8.6 L3.5,6.4 C3.6,6.3 3.6,6.3 3.7,6.2 C5,5 6.9,4.8 8.4,5.5 C8.8,5.7 9.3,6 9.6,6.4 C10,6.7 10.2,7.2 10.5,7.6 C10.2,7.9 9.9,8 9.5,8 C9.4,8 9.2,8 9.1,7.9 C8.9,7.5 8.5,7.2 8.1,6.9 C7,6.2 5.5,6.4 4.5,7.3 L3.8,8 L2.3,9.5 C1.2,10.6 1.2,12.5 2.3,13.6 C3.4,14.7 5.3,14.7 6.4,13.6 L7.9,12.1 C8.4,12.3 8.9,12.4 9.5,12.4 Z M14.7,1.3 C13,-0.4 10.2,-0.4 8.5,1.3 L6.3,3.5 C6.2,3.6 6.2,3.6 6.1,3.7 C6.7,3.7 7.4,3.7 8,3.9 L9.5,2.4 C10.6,1.3 12.5,1.3 13.6,2.4 C14.7,3.5 14.7,5.4 13.6,6.5 L12.1,8 L11.4,8.7 C10.4,9.7 8.9,9.8 7.8,9.1 C7.4,8.9 7.1,8.5 6.8,8.1 C6.7,8.1 6.5,8 6.4,8 C6,8 5.6,8.2 5.4,8.4 C5.6,8.8 5.9,9.3 6.3,9.6 C6.6,10 7.1,10.2 7.5,10.5 C9,11.2 10.9,11 12.3,9.8 C12.4,9.7 12.4,9.7 12.5,9.6 L14.7,7.4 C16.4,5.7 16.4,3 14.7,1.3 Z\" id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </g>\n            </svg></a>Kit Integrations</h2>\n<p>While most of mParticle’s integration are server side, several require additional client side libraries called kits. An mParticle Kit is composed of a class that typically wraps a 3rd-party SDK, and maps the mParticle API onto a that SDK’s API.</p>\n<p>If you’d like to use one of these client side kits simply follow <a href=\"https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/native-library-interop/get-started\">Microsofts guide for creating .Net Android and iOS Binding Libraries</a>.</p>","frontmatter":{"title":"Getting Started","order":1,"seoTitle":null,"seoDescription":null},"parent":{"__typename":"File","modifiedTime":"September 3, 2026"}}},"pageContext":{"slug":"/developers/client-sdks/maui/getting-started/"}},"staticQueryHashes":["2950460867"]}