Mobile

Vous disposez des deux options suivantes pour lancer FBE sur un mobile :

m-Browser

FBE permet de vous authentifier via des applications ou des navigateurs mobiles.

Lorsque vous lancez la connexion d’entreprise pour FBE, nous vous recommandons de modifier l’URL.

  1. Pour ce faire, remplacez www par m dans l’URL de Facebook. Plus précisément, utilisez https://m.facebook.com/ au lieu de https://www.facebook.com/.

Si vous accédez à https://facebook.com sans utiliser www ni m, Facebook charge automatiquement l’URL m ou www appropriée en fonction du navigateur ou de la plateforme d’origine.

Exemples d’interface utilisateur

Vous verrez dans les exemples ci-dessous l’apparence de FBE dans la version mobile.

WebViews (Android) ou WK/UIWebviews (iOS)

Android

Il est vivement recommandé de transmettre la chaîne UserAgent DEFAULT pour webviews WebSettings() dans le code (webview.getSettings().setUserAgentString("< user_agent>")). Ne la modifiez pas via la méthode setUserAgentString(). Toute modification serait susceptible de causer des problèmes d’affichage.

Vous trouverez dans les exemples ci-dessous les valeurs UserAgent par défaut pour les appareils mobiles Google Nexus 4 et Samsung Galaxy S9. Récupérez la valeur UserAgent via getUserAgentString() :

Google Nexus 4 : Android version 5.1 (API 22) 768 × 1280

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 version 8.0 (API 26) 1440 × 2960

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

Dans les deux cas, l’interface utilisateur s’affichait comme prévu. Observez les captures d’écran suivantes pour le Samsung Galaxy S9 :



L’exemple de code suivant comprend une configuration d’un webview avec peu de mises à jour qui affiche correctement l’interface utilisateur ci-dessus :

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

Vous pouvez également transmettre les paramètres suivants sans entraîner de problèmes d’affichage :

  • setLoadWithOverviewMode()
  • setUseWideViewPort()
  • setDomStorageEnabled()
  • setJavaScriptCanOpenWindowsAutomatically()
  • Autres options de paramétrage n’entraînant pas de modifications de l’interface utilisateur

Si une entreprise doit transmettre un UserAgent personnalisé, nous lui recommandons vivement de l’ajouter à la chaîne UserAgent par défaut renvoyée par getUserAgentString(). Pour éviter tout problème d’affichage, ne modifiez pas la section existante de la chaîne UserAgent.

Évitez de transmettre d’autres paramètres d’affichage, qui pourraient causer des problèmes d’affichage. Par exemple, si vous transmettez setLayoutAlgorithm() dans le webview Android, le code HTML est réorganisé et modifie l’affichage.

iOS

L’approche décrite ci-dessus pour Android fonctionne également pour iOS UIWebview/WKWebviews.

Voici un exemple de code permettant d’obtenir la chaîne UserAgent par défaut sur iOS :

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

Pour iOS, suivez les recommandations indiquées précédemment pour Android. Le principal est d’utiliser la chaîne UserAgent par défaut et de ne pas transmettre des paramètres d’affichage susceptibles d’impacter les webviews.