Du hast die folgenden Möglichkeiten, um FBE in mobilen Apps zu starten:
FBE kann eine Authentifizierung über mobile Apps oder mobile Browser durchführen.
Wir empfehlen den URL-Ansatz, wenn du den Unternehmens-Login für FBE startest.
www
in der Facebook-URL durch m
. Verwende genau https://m.facebook.com/
anstatt https://www.facebook.com/
. Wenn du https://facebook.com
ohne www
oder m
übergibst, lädt Facebook automatisch die richtige m
- oder www
-URL, je nachdem, welcher Browser oder welche Plattform ursprünglich verwendet wurde.
Die folgenden Beispiele für die Benutzeroberfläche zeigen, wie FBE aussieht, wenn sie auf mobilen Websites geladen wird.
Wir empfehlen dir, den DEFAULT
-UserAgent-String für Webansichten WebSettings() an den Code (webview.getSettings().setUserAgentString("< user_agent>"))
zu übergeben. Ändere ihn nicht mit der setUserAgentString()
-Methode. Wird der UserAgent-String geändert, kann dies Darstellungsprobleme für FBE zur Folge haben.
Die folgenden Beispiele zeigen die Standard-UserAgent-Werte für die Mobilgeräte Google Nexus 4 und Samsung Galaxy S9. Rufe die UserAgent-Werte mit getUserAgentString()
ab:
Google Nexus 4 – Android Version 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 beiden Fällen wurde die UI erwartungsgemäß dargestellt. Siehe die folgenden Screenshots für das Samsung Galaxy S9:
Nachstehend findest du ein Codebeispiel, um eine Webansicht mit minimalen Updates einzurichten, die die UI oben korrekt darstellt:
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());
Du könntest auch die folgenden Einstellungen übergeben, ohne dass dadurch Darstellungsprobleme verursacht werden:
setLoadWithOverviewMode()
setUseWideViewPort()
setDomStorageEnabled()
setJavaScriptCanOpenWindowsAutomatically()
Wenn eine geschäftliche Notwendigkeit besteht, einen personalisierten UserAgent zu übergeben, empfehlen wir dir, diesen an den Standard-UserAgent-String anzuhängen, der von getUserAgentString()
zurückgegeben wird. Ändere den vorhandenen Teil des UserAgent-Strings nicht, um Darstellungsprobleme zu vermeiden.
Du solltest keine zusätzlichen Darstellungseinstellungen übergeben, da dies zu Darstellungsproblemen führen kann. Wenn du beispielsweise setLayoutAlgorithm()
an die Android-Webansicht übergibst, wird der HTML-Code neu strukturiert, was sich negativ auf die Darstellung auswirkt.
Der oben beschriebene Prozess für Android funktioniert auch für iOS-UIWebview/WKWebviews.
Hier siehst du einen Beispielcode, um den Standard-UserAgent in iOS abzurufen:
// Sample example - appending UserAgent - Please see latest iOS docs for approach to pass this param webView.customUserAgent = (UIWebView().stringByEvaluatingJavaScript(from: "navigator.userAgent") ?? "") + "/Custom agent"
Befolge für iOS dieselben Best Practices, die wir zuvor für Android aufgeführt haben. Entscheidend ist dabei, den Standard-UserAgent zu verwenden und keine potenziellen Darstellungseinstellungen zu übergeben, die sich auf Webansichten auswirken.