Marker?GetProjectMarker(string inputDataUri)
        {
            try
            {
                Uri uri = new Uri(inputDataUri);
                Dictionary <string, string> queryArgs = MarkerDeepLinkBarcodeParser.GetQueryArgs(uri);

                var key = m_MarkerController.ProjectLinkSource.Key;

                if (queryArgs.TryGetValue(key, out string value))
                {
                    var markerSuccess = m_MarkerController.MarkerStorage.Get(value);
                    if (markerSuccess != null)
                    {
                        return(markerSuccess.Value);
                    }
                }
            }
            catch (Exception e)
            {
                Debug.LogError(e);
            }

            return(null);
        }
        public string Generate(IMarker marker, UnityProject project)
        {
            var queryArgs = MarkerDeepLinkBarcodeParser.GetQueryArgs(project.Uri);

            queryArgs[Key] = marker.Id.ToString();

            var response = new UriBuilder(project.Uri);

            response.Query = MarkerDeepLinkBarcodeParser.ToQueryString(queryArgs);
            return(response.Uri.ToString());
        }