Hai le opzioni seguenti per lanciare FBE su dispositivo mobile:
FBE ha la capacità di eseguire l'autenticazione tramite app mobili o browser mobili.
Ti consigliamo di utilizzare l'approccio URL quando lanci Business Login per FBE.
www
con m
nell'URL di Facebook. Nello specifico, usa https://m.facebook.com/
invece di https://www.facebook.com/
. Se passi https://facebook.com
, senza www
o m
, Facebook carica automaticamente l'URL m
o www
appropriato basato sul browser o sulla piattaforma di origine.
I seguenti esempi di interfaccia utente mostrano l'aspetto di FBE una volta caricato su m-site.
Ti consigliamo vivamente di passare la stringa UserAgent DEFAULT
per WebSettings() delle visualizzazioni web nel codice (webview.getSettings().setUserAgentString("< user_agent>"))
. Non modificarla tramite il metodo setUserAgentString()
. Se la stringa user agent viene modificata, potrebbero esserci problemi di rendering.
I seguenti esempi mostrano i valori predefiniti di UserAgent per i dispositivi mobili Google Nexus 4 e Samsung Galaxy S9. Ottieni il valore UserAgent usando getUserAgentString()
:
Google Nexus 4 - Android versione 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 v8.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
In entrambi i casi, il rendering dell'interfaccia utente è stato eseguito come previsto. Guarda gli screenshot seguenti per il Samsung Galaxy S9:
Di seguito è riportato un esempio di codice che imposta una visualizzazione web con aggiornamenti minimi, che esegue correttamente il rendering dell'interfaccia utente precedente:
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());
Potresti anche passare le seguenti impostazioni senza causare problemi di rendering:
setLoadWithOverviewMode()
setUseWideViewPort()
setDomStorageEnabled()
setJavaScriptCanOpenWindowsAutomatically()
Se è necessario per un'azienda che venga passato uno UserAgent personalizzato, ti consigliamo vivamente di aggiungerlo alla stringa UserAgent predefinita restituita da getUserAgentString()
. Per evitare problemi di rendering, non modificare la parte esistente della stringa UserAgent.
Devi evitare di passare impostazioni di rendering aggiuntive, perché questo può portare a problemi di rendering. Ad esempio, se passi setLayoutAlgorithm()
nella visualizzazione web Android, riorganizza l'HTML e influisce negativamente sul rendering.
L'approccio Android descritto sopra funziona anche per UIWebview/WKWebviews iOS.
Ecco un esempio di codice per ottenere lo UserAgent predefinito su 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"
Per iOS, segui le stesse best practice sopra menzionate per Android. La chiave è utilizzare lo UserAgent predefinito ed evitare di passare qualsiasi potenziale impostazione di rendering che influisca sulle visualizzazioni web.