iOSとAndroid用のアプリを開発しました。これは、アプリ内ブラウザ(Webview)を使用してWebサーバからHTMLファイルにアクセスします。PHP/Javascriptでアプリ内ブラウザ(WebView)を検出
私はこのアプリを使わずにこのファイルにアクセスすることはできません。ユーザーがアプリを使用してファイルにアクセスしている場合、またはこのスマートフォン/タブレット/パソコンのブラウザから直接アクセスしている場合は検出されますか? JavaScriptをオフにすることができるので、PHPを使ったソリューションがはるかに優れていると思います。 Googleアナリティクスでは、少なくともSafariとSafari(アプリ内)を区別できます。 iOSとAndroidのすべてのバージョンで動作するはずです。
ありがとうございました。私は最終的に私のための実用的なソリューションを見つけた多くの試みの後
ソリューション
!
iOS: ユーザーエージェントを使用して、Safariとアプリ内ブラウザの違いを検出できます。おそらくもっと良い解決策がありますが、それは機能します。
// Safari (in-app)
if ((strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile/') !== false) && (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari/') == false) {
echo 'Safari (in-app)';
}
アンドロイド: アプリからパッケージ名がPHPの変数$_SERVER['HTTP_X_REQUESTED_WITH']
に格納されます。ティム・バンElslooとして
// Android (in-app)
if($_SERVER['HTTP_X_REQUESTED_WITH'] == "com.company.app") {
echo 'Android (in-app)';
}
すでにHTTPヘッダーを偽造することができ、これは絶対に安全ではありません指摘しました。
他のブラウザからページを開くと、iOsソリューションが失敗します。いくつかのテストの後、少し洗練された。ここをクリック: http:// stackoverflow。com/questions/2738766/iphone-webapps-is-a-way-to-detect-how-it-was-loaded-home-screen-vs-safar/20757993#20757993 –