From 704ef69fc782c68db08d437c68d5896e028f3301 Mon Sep 17 00:00:00 2001 From: Daniils Petrovs Date: Fri, 13 Sep 2024 00:10:48 +0300 Subject: [PATCH] Add better detection for Samsung Browser Closes Add Samsung Browser to be recognised as Android device #29 --- ua.go | 4 +++- ua_test.go | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ua.go b/ua.go index e1cde3b..424d25d 100644 --- a/ua.go +++ b/ua.go @@ -53,6 +53,7 @@ const ( NetFront = "NetFront" Mozilla = "Mozilla" Msie = "MSIE" + SamsungBrowser = "Samsung Browser" GoogleAdsBot = "Google Ads Bot" Googlebot = "Googlebot" @@ -256,9 +257,10 @@ func Parse(userAgent string) UserAgent { ua.Bot = true case tokens.get("SamsungBrowser") != "": - ua.Name = "Samsung Browser" + ua.Name = SamsungBrowser ua.Version = tokens.get("SamsungBrowser") ua.Mobile = tokens.existsAny(Mobile, MobileSafari) + ua.OS = Android case tokens.get("HeadlessChrome") != "": ua.Name = HeadlessChrome diff --git a/ua_test.go b/ua_test.go index f514c01..4d2aba7 100644 --- a/ua_test.go +++ b/ua_test.go @@ -54,6 +54,7 @@ var testTable = [][]string{ {"Mozilla/5.0 (Linux; U; Android 11; ru-ru; Redmi Note 10S Build/RP1A.200720.011) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.116 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.13.2-gn", "Miui Browser", "12.13.2-gn", "mobile", ua.Android, "Redmi Note 10S"}, {"Mozilla/5.0 (Linux; Android 10; MED-LX9N; HMSCore 6.6.0.311) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.1.0.303 Mobile Safari/537.36", "Huawei Browser", "12.1.0.303", "mobile", "Android"}, + {"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/22.0 Chrome/111.0.5563.116 Safari/537.36", ua.SamsungBrowser, "22.0", "mobile", ua.Android}, // useragent, name, version, mobile, os {"Mozilla/5.0 (Linux; Android 9; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36", ua.Chrome, "71.0.3578.99", "mobile", ua.Android},