Example #1
0
        private DeviceDetectorNET.DeviceDetector getDeviceDetector(bool skipBot = true)
        {
            var dd = new DeviceDetectorNET.DeviceDetector(_userAgent);

            if (skipBot)
            {
                dd.SkipBotDetection();
                dd.DiscardBotInformation(false);
            }
            dd.Parse();
            return(dd);
        }
Example #2
0
        private bool _isMobile()
        {
            var userAgent = _accessor.HttpContext.Request.Headers["User-Agent"].ToString();

            DeviceDetectorNET.DeviceDetector dd = new DeviceDetectorNET.DeviceDetector(userAgent);
            dd.DiscardBotInformation();
            dd.SkipBotDetection();
            dd.Parse();
            var deviceName = dd.GetDeviceName();

            if (userAgent.StartsWith("PostmanRuntime"))
            {
                return(false);
            }
            return(deviceName.Equals("smartphone"));
        }
Example #3
0
        public ClientInfo GetClientInfo(string ua)
        {
            if (string.IsNullOrEmpty(ua))
            {
                return(GetClientInfo());
            }
            var dd = new DeviceDetectorNET.DeviceDetector(ua);

            dd.SkipBotDetection();
            dd.DiscardBotInformation(false);
            dd.Parse();
            var device = new Device
            {
                Brand          = getStringOrNull(dd.GetBrandName()),
                Model          = getStringOrNull(dd.GetModel()),
                Type           = getStringOrNull(dd.GetDeviceName()),
                BrandShortName = getStringOrNull(dd.GetBrand())
            };
            var browser     = dd.GetBrowserClient();
            var browserInfo = browser.Success ? new Browser
            {
                Name          = getStringOrNull(browser.Match.Name),
                Engine        = getStringOrNull(browser.Match.Engine),
                Type          = getStringOrNull(browser.Match.Type),
                Version       = getStringOrNull(browser.Match.Version),
                EngineVersion = getStringOrNull(browser.Match.EngineVersion),
                ShortName     = getStringOrNull(browser.Match.ShortName)
            } : null;
            var os     = dd.GetOs();
            var osInfo = os.Success ? new OS
            {
                Name      = getStringOrNull(os.Match.Name),
                Version   = getStringOrNull(os.Match.Version),
                Platform  = getStringOrNull(os.Match.Platform),
                ShortName = getStringOrNull(os.Match.ShortName)
            } : null;

            return(new ClientInfo
            {
                Browser = browserInfo,
                Device = device,
                OS = osInfo
            });
        }