private DeviceDetectorNET.DeviceDetector getDeviceDetector(bool skipBot = true) { var dd = new DeviceDetectorNET.DeviceDetector(_userAgent); if (skipBot) { dd.SkipBotDetection(); dd.DiscardBotInformation(false); } dd.Parse(); return(dd); }
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")); }
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 }); }