FBE 具备通过移动应用或移动版浏览器完成身份验证的功能。
在启动 FBE 的企业登录时,我们建议使用网址方式。
www
替换为 m
。具体来说,使用 https://m.facebook.com/
,而不是 https://www.facebook.com/
。 如果您传递 https://facebook.com
,不包含 m
或 www
,Facebook 将根据来源的浏览器或平台来自动加载带有 m
或 www
的正确网址。
以下用户界面示例展示了在移动网站上加载 FBE 的具体情况。
我们强烈建议您在 (webview.getSettings().setUserAgentString("< user_agent>"))
代码中,将 DEFAULT
UserAgent 字符串传递给网页视图 WebSettings()。请勿通过 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 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) 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 网页视图中传递 setLayoutAlgorithm()
,系统会重新组织 HTML 并对显示造成负面影响。
上述 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 值,避免传递任何可能会影响网页视图的显示设置。