Mobil

Du hast die folgenden Möglichkeiten, um FBE in mobilen Apps zu starten:

m-Browser

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.

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

Beispiele für die Benutzeroberfläche

Die folgenden Beispiele für die Benutzeroberfläche zeigen, wie FBE aussieht, wenn sie auf mobilen Websites geladen wird.

WebViews (Android) oder WK/UIWebviews (iOS)

Android

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()
  • Andere Einstellungsoptionen, die sich nicht auf die UI auswirken

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.

iOS

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.