Estoy haciendo un botón de descarga para usar en una página HTML. Descargará la aplicación que está publicada en Samsung Galaxy Store.
Usando JavaScript, quiero detectar si el usuario tiene instalado Samsung Galaxy Store. Si está instalado, redirigiré al usuario a Galaxy Store; de lo contrario, lo redirigiré al sitio web de nuestra aplicación.
Si descubrimos si es un dispositivo Samsung que usa UserAgent como se describe aquí , es seguro asumir que el dispositivo siempre tendrá Samsung Galaxy Store.
por supuesto, puede cambiar UA, por ejemplo, para WebView
( webview.getSettings().setUserAgentString(...)
), también hay un navegador Firefox que puede manejar algunos complementos, incluido uno que permite cambiar UA ... por lo que es ' t una forma confiable de detectar/restringir cualquier cosa. de hecho: no existe una forma confiable de detectar la presencia de aplicaciones nativas desde el nivel web. aún más: en la versión más reciente del sistema operativo Android (API30), incluso las aplicaciones nativas no pueden verificar esta presencia (necesita permiso adicional ahora)
Como señaló @snachmsm, no es posible detectar la presencia de Galaxy Store.
Sin embargo, podría averiguar si es un dispositivo Samsung o si no usa la siguiente userAgent
coincidencia de agente de usuario:
if (navigator.userAgent.match(/SAMSUNG|SGH-[I|N|T]|GT-[I|P|N]|SM-[N|P|T|Z|G]|SHV-E|SCH-[I|J|R|S]|SPH-L/i)) { alert("it's Samsung default browser"); // your code for Samsung goes here }
Dado que todos los dispositivos Samsung tendrán Galaxy Store, es adecuado tener solo una coincidencia de userAgent
.