Tienes estas opciones para iniciar la FBE en celulares:
La FBE puede autenticar mediante navegadores de celulares o apps para celulares.
Recomendamos usar el enfoque de URL al comenzar el inicio de sesión de empresas para la FBE.
www
por m
en la URL de Facebook. Específicamente, usa https://m.facebook.com/
en lugar de https://www.facebook.com/
. Si pasas https://facebook.com
sin una www
o m
, Facebook carga automáticamente la m
o URL www
adecuada en función del navegador o la plataforma de origen.
En los siguientes ejemplos de UI, se muestra cómo se ve la FBE cuando se carga en un sitio móvil.
Te recomendamos que pases la cadena DEFAULT
de agente de usuario para configuración de vistas web en el código (webview.getSettings().setUserAgentString("< user_agent>"))
. No la cambies con el método setUserAgentString()
. Si se modifica la cadena de agente de usuario, pueden surgir problemas en la representación.
En los ejemplos siguientes, se muestran los valores del agente de usuario predeterminado para dispositivos móviles Google Nexus 4 y Samsung Galaxy S9. Obtén el valor del agente de usuario mediante getUserAgentString()
:
Google Nexus 4 — Android versión 5.1 (API 22) 768x1280
Mozilla/5.0 (Linux; Android 5.1; Google Nexus 4 Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36
Samsung Galaxy S9 — Android versión 8.0 (API 26) 1440x2960
Mozilla/5.0 (Linux; Android 8.0.0; Samsung Galaxy S9 Build/OPR6.170623.017; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.125 Mobile Safari/537.36
En ambos casos la UI se representó como se esperaba. Consulta las siguientes capturas de pantalla de Samsung Galaxy S9:
A continuación, se muestra un ejemplo de código que define una vista web con actualizaciones mínimas, que representa correctamente la UI anterior:
WebView webView; webView = (WebView) v.findViewById(R.id.webview); webView.loadUrl('<FBE2.0 URL>'); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); // Sample log to see the Default UserAgent string - Log.i("UserAgent", ""+webSettings.getUserAgentString()); webView.setWebViewClient(new WebViewClient());
También podrías enviar la siguiente configuración sin generar problemas de representación:
setLoadWithOverviewMode()
setUseWideViewPort()
setDomStorageEnabled()
setJavaScriptCanOpenWindowsAutomatically()
Si existe una necesidad comercial de enviar una agente de usuario personalizado, te recomendamos que lo agregues a la cadena de agente de usuario predeterminada devuelta por getUserAgentString()
. Para evitar problemas de representación, no modifiques la parte existente de la cadena de agente de usuario.
Debes evitar enviar valores adicionales de configuración de representación, ya que esto puede generar problemas de representación. Por ejemplo, si envías setLayoutAlgorithm()
en la Webview de Android, esta reconoce el HTML y afecta negativamente la representación.
El método de Android descrito anteriormente también se aplica a UIWebView y WKWebView de iOS.
Este es un código de ejemplo para obtener el agente de usuario predeterminado en iOS:
// Sample example - appending UserAgent - Please see latest iOS docs for approach to pass this param webView.customUserAgent = (UIWebView().stringByEvaluatingJavaScript(from: "navigator.userAgent") ?? "") + "/Custom agent"
Para iOS, sigue las mismas prácticas recomendadas mencionadas anteriormente para Android. La clave es usar el agente de usuario predeterminado y evitar enviar cualquier posible configuración de representación que pueda afectar la vista web.