Mobile

Hai le opzioni seguenti per lanciare FBE su dispositivo mobile:

m-Browser

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.

  1. Sostituisci 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.

Esempi di interfaccia utente

I seguenti esempi di interfaccia utente mostrano l'aspetto di FBE una volta caricato su m-site.

WebViews (Android) o WK/UIWebviews (iOS)

Android

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()
  • altre opzioni delle impostazioni che non modificano l'interfaccia utente

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.

iOS

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.