ウェブサイトを構築していますが、ユーザーがAndroidのブラウザを使用しているか、ウェブビュー付きのアプリを使用しているかを知りたいです。
出来ますか ??
ウェブサイトを構築していますが、ユーザーがAndroidのブラウザを使用しているか、ウェブビュー付きのアプリを使用しているかを知りたいです。
出来ますか ??
Chrome dev docsによると、「WebViewとChrome for Androidを区別しようとしている場合は、WebViewのユーザーエージェント文字列にVersion/ XX文字列が含まれていることを確認する必要があります。」
FROM: http: //googlewebmastercentral.blogspot.com/2011/03/mo-better-to-also-detect-mobile-user.html
このようなユーザーエージェントの場合:
Mozilla / 5.0(Linux; U; Android 3.0; en-us; Xoom Build / HRI39)AppleWebKit / 534.13(KHTML、Geckoなど)バージョン/4.0Safari/534.13
「モバイル」文字列がないため、このユーザーにデスクトップバージョン(またはAndroid大画面タッチデバイス用にカスタマイズされたバージョン)を提供します。User-Agentは、大画面デバイスであるXOOMタブレットから来ていると言っています。
一方、このユーザーエージェント:
Mozilla / 5.0(Linux; U; Android 2.2.1; en-us; Nexus One Build / FRG83)AppleWebKit / 533.1(KHTML、Geckoなど)バージョン/4.0モバイルSafari / 533.1
「モバイル」と「Android」が含まれているので、このNexusOneのモバイルエクスペリエンスでウェブサーファーにサービスを提供してください。
https://stackoverflow.com/a/7327201から
User-Agentは、Webビューではデフォルトのモバイルブラウザと同じように見えます
参考:これはユーザーエージェントでは実行できませんが、検出することはできます。AndroidのWebビューは、追加ヘッダー「X-Requested-With」を送信します。このヘッダーの値は、Webビューを実行しているアプリケーションの名前空間になります。
たとえば、ドルフィンブラウザは「mobi.mgeek.TunnyBrowser」を送信します。私のテストアプリは「com.jamestymann.identifyawebview」を送信しました。
標準のブラウザは実際にはこのヘッダーをまったく送信しないため、これらを検出するのは非常に簡単です。
ただし、2つの注意点があります。
最新の情報については、こちらをご覧くださいhttps://developer.chrome.com/multidevice/user-agentロリポップ以降のデバイスはwv)
UserAgentに含まれています。
チェックされたAndroidWebViewまたはブラウザの以下のコードを使用できます。
public static bool is_mobile_and_webview()
{
return System.Web.HttpContext.Current.Request.Browser.IsMobileDevice && System.Web.HttpContext.Current.Request.UserAgent.Contains("; wv");
}
はい、これらのメタタグを追加することでウェブサイトを最適化できます
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<meta name="HandheldFriendly" content="True" />
詳細については、 http://learnthemobileweb.com/2009/07/mobile-meta-tags/をご覧ください。
このサーバーサイドを使用して、PHPでクライアントのブラウザー(エージェント)に関する情報にアクセスします
...
$_SERVER['HTTP_USER_AGENT']; // Different browsers ...
...
この定型文は解釈できます-したがって、エージェントを知ることができます...
クライアント側-navigator.userAgent