Vous disposez des deux options suivantes pour lancer FBE sur un mobile :
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.
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.
Vous verrez dans les exemples ci-dessous l’apparence de FBE dans la version mobile.
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()
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.
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.