When asking why we need KIWI browser in Android?... Well, the response is quite Simple:
-> because it support chrome extensions!
As a webmaster, when checking for the browser, we could know from where our browser was opened (Desktop / mobile / Android / IOS...). but does it support chrome extensions??
When it's opened from Android, Is it really the KIWI browser?? does it support extensions??
the Brave browser have did that, they added "...Brave Chrome..." in their navigator.userAgent result.
more details here: https://stackoverflow.com/a/56459333/4771750
I recommend adding "...Kiwi Chrome..." in the user agent, along with mobile, so when we check for it from a website, we know that it's opened in the KIWI mobile App.
Thank you, i hope you accept my idea.
We don't need more mess in the UA. Have a look at Google's proposal: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/-2JIRNMWJ7s/yHe4tQNLCgAJ
ok, any suggestion on detecting the KIWI navigator?
like is there any object instance in JS (like chrome in Chrome browser)
Assume by outdated Chromium, haha. No, actually, don't fingerprint users at all.
Maybe use useragent to check if mobile browser then using chrome.runtime(https://developer.chrome.com/apps/runtime) to check for extension support. As there're only two Android browsers which supports extensions.
two Android browsers which supports extensions
Two Chromium-based browsers (Kiwi and Yandex) and two Firefox-based browsers (old and new one).
two Android browsers which supports extensions
Two Chromium-based browsers (Kiwi and Yandex) and two Firefox-based browsers (old and new one).
Yes two chromium browsers. But firefox based browser can easily be detected using useragent too so not very relevant with op issue (detecting kiwibrowser) . Also yandex browser adds YaBrowser in useragent string too. So all you need to detect
If user using android chrome and if extensions support is present = kiwi browser.
@chlegou
Assume by outdated Chromium, haha. No, actually, don't fingerprint users at all.
"ah, ah", you may be actually confused with tons of browsers then.
When asking why we need KIWI browser in Android?... Well, the response is quite Simple:
-> because it support chrome extensions!As a webmaster, when checking for the browser, we could know from where our browser was opened (Desktop / mobile / Android / IOS...). but does it support chrome extensions??
When it's opened from Android, Is it really the KIWI browser?? does it support extensions??
the Brave browser have did that, they added
"...Brave Chrome..."in theirnavigator.userAgentresult.more details here: https://stackoverflow.com/a/56459333/4771750
I recommend adding
"...Kiwi Chrome..."in the user agent, along with mobile, so when we check for it from a website, we know that it's opened in the KIWI mobile App.Thank you, i hope you accept my idea.
Hi,
It's possible to detect Kiwi by passive fingerprinting (100% of the browsers can be detected like this), but we can maybe add an explicit method, but I don't see too much obvious benefits?
To try to understand the use case, what is the situation where you need to differentiate Kiwi from other browsers ?
If there is a bug in Kiwi that makes the website look different, I think we should try to fix this bug first. Normally if it's well made, there is no real need to differentiate Kiwi from Chrome
i'm developing a website which requires the extension feature. i want to show the Kiwi browser download button only when it's not installed. If current browser is Kiwi, no need to show download buttons. so by detecting the browser type, i was thinking i could manage that.
@hjyoung1 do you think this code check is enough?
isBrowserSupportingExtensions = !!chrome && !!chrome.runtime
@hjyoung1 do you think this code check is enough?
isBrowserSupportingExtensions = !!chrome && !!chrome.runtime
I'll check how to add an exported variable near navigator. variable
@kiwibrowser that works super great! makes it more easier. i have seen this in Brave browse (i think they create a brave instance like the chrome one).
Thank you for accepting this.
https://www.zdnet.com/article/vivaldi-to-change-user-agent-string-to-chrome-due-to-unfair-blocking/
Once you read the above article you'll know that websites will start bullying the browser for using a unknown user agent. Vivaldi defaulted to Chromium user agent because of this
To try to understand the use case, what is the situation where you need to differentiate Kiwi from other browsers ?
Because Kiwi lies about its version. It claims to be Chromium 88, but is actually based on v77. Because it claims to be v88, my site then proceeds to use APIs which are supported in Chromium 88 (specifically the optional-chaining operator). However, v77 does not support this... and as a result, Kiwi fails badly and sadly.
If Kiwi wishes to pretend to be Chromium, then at the very least it should be honest about its version. If it wants to lie about its version, then it needs to identify itself properly in some way.
Most helpful comment
https://www.zdnet.com/article/vivaldi-to-change-user-agent-string-to-chrome-due-to-unfair-blocking/
Once you read the above article you'll know that websites will start bullying the browser for using a unknown user agent. Vivaldi defaulted to Chromium user agent because of this