User-Agent Reduction on Android WebView



Posted by Mike Taylor (Privacy Sandbox), and Mihai Cîrlănaru (Web on Android)

The User-Agent string has been reduced in Chrome on Desktop and Chrome on Android platforms since Chrome 107. Beginning in Android 16, the default User-Agent string in Android WebView will be similarly reduced.

Updated User-Agent string

The default, reduced WebView User-Agent string is as follows:

Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.000 Mobile Safari/537.36

A diagram illustrating how different parts of a user agent string are updated.

As seen in the diagram, the OS, CPU, and Build information will be reduced to the static “Linux; Android 10; K” string. Minor/build/patch version information is also reduced to “0.0.0” The rest of the default User-Agent remains unchanged (and is unchanging).

How can I detect WebView via the User-Agent string?

Sites can continue to look for the wv token in the User-Agent string, unless an application has decided to override the User-Agent string.

Does WebView support User-Agent Client Hints?

Android WebView has supported User-Agent Client Hints since version 116, but only for applications that send the default User-Agent string.

Will a custom WebView User-Agent string be affected?

The ability to set a custom User-Agent via setUserAgentString() won’t be affected – and applications that choose to do so won’t send the reduced User-Agent string.




Source link

  • Related Posts

    Leverage Android skills and Gemma 4 in Android Studio Quail 4

    Android Studio Quail 4 is now stable and ready for you to use in production. This is the final stable release for Android Studio Quail. The new features in Android…

    Emulator control for adaptive app development

    Adaptive app development is fundamental on Android, but making sure everything looks good and every feature works the way it should require multiple tests on multiple devices. Or does it?…

    Leave a Reply

    Your email address will not be published. Required fields are marked *