流動裝置

在流動裝置上,您可透過以下選項啟用 FBE:

流動瀏覽器

FBE 可讓用戶透過流動應用程式或流動瀏覽器完成驗證。

啟用 FBE 專用企業登入時,我們建議使用網址方式。

  1. 在 Facebook 網址中,以 m 取代 www。具體來說,使用 https://m.facebook.com/ 而不是 https://www.facebook.com/

如果您傳遞 https://facebook.com 但沒有加上 wwwm,Facebook 會根據來源瀏覽器或平台自動載入正確的 mwww 網址。

用戶介面範例

請查看以下用戶介面範例,以了解在流動網站上載入 FBE 的具體情況。

WebView (Android) 或 WK/UIWebView (iOS)

Android

我們強烈建議您在程式碼 (webview.getSettings().setUserAgentString("< user_agent>")) 中傳遞用於網頁檢視 WebSettings() 的 DEFAULT UserAgent 字串。請透過 setUserAgentString() 方法更改它。如果用戶代理字串已修改,則可能會導致顯示問題。

下列範例顯示 Google Nexus 4 和 Samsung Galaxy S9 流動裝置的 UserAgent 預設值。我們會使用 getUserAgentString() 獲取 UserAgent 值:

Google Nexus 4 — Android 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

在這兩種情況中,用戶介面都能按照預期正確顯示。請參閱下方的 Samsung Galaxy S9 螢幕截圖:



以下程式碼範例將 Webview 設為使用最少更新,這樣就可以正確顯示上述用戶介面:

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());

您亦可以傳遞以下設定,而不會導致任何顯示問題:

  • setLoadWithOverviewMode()
  • setUseWideViewPort()
  • setDomStorageEnabled()
  • setJavaScriptCanOpenWindowsAutomatically()
  • 其他非用戶介面更改設定選項

如果有企業需要傳遞自訂的 UserAgent,我們強烈建議您將其附加getUserAgentString() 傳回的預設 UserAgent 字串。為避免發生顯示問題,請勿修改 UserAgent 字串的現有部分。

您應避免傳遞其他顯示設定,因為這可能會導致顯示問題。例如,如果您在 Android Webview 中傳遞 setLayoutAlgorithm(),系統會重新組織 HTML 並對顯示造成負面影響。

iOS

上述 Android 方法同樣適用於 iOS UIWebview/WKWebview。

以下是在 iOS 上獲取預設 UserAgent 的程式碼範例:

// Sample example - appending UserAgent - Please see latest iOS docs for approach to pass this param
webView.customUserAgent = (UIWebView().stringByEvaluatingJavaScript(from: "navigator.userAgent") ?? "") + "/Custom agent"

如果使用 iOS,跟從上述適用於 Android 的最佳操作實例。重點是使用預設 UserAgent,並避免傳遞任何可能會影響 Webview 的顯示設定。