行動裝置

您可以透過下列選項在行動裝置上啟動 FBE:

行動版瀏覽器

FBE 能透過行動應用程式或行動瀏覽器進行驗證。

啟動 FBE 的企業登入時,建議使用網址方法。

  1. 將 Facebook 網址中的 www 換成 m。具體來說,就是使用 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>")) 中傳遞 WebView WebSettings() 的 DEFAULT UserAgent 字串。請透過 setUserAgentString() 方法變更。如果 UserAgent 字串經過修改,可能會導致顯示問題。

下列範例顯示 Google Nexus 4 和 Samsung Galaxy S9 行動裝置的預設 UserAgent 值。這些 UserAgent 值均是使用 getUserAgentString() 取得:

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 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

在上述兩個案例中,用戶介面都能如預期般顯示。請參考下列 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 的顯示設定。