iOS デバイスは、デバイスバージョンではなく、ユーザーエージェント文字列のファームウェアバージョンをレポートします。したがって、対応するデバイスバージョンで iPhone を分類するのは困難です。iPhone 5 のユーザーエージェント文字列を例にすると(iOS 6.1.3 を実行)、次のようになります。

「Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25」

これを iPhone 4(iOS 6.1.3 を実行)と比較します。

「Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25」

iPhone デバイスの間で JavaScript が認識できる違いは、現時点では、画面の解像度だけです。

  • iPhone 3 および以前のバージョン:480 × 320
  • iPhone 4 および iPhone 4S:960 × 640
  • iPhone 5:1,136 × 640
  • iPhone 6:1,334 × 750
  • iPhone 6 Plus:1,920 × 1,080

アドビは、デバイスのユーザーエージェントを使用してモバイルレポートを生成するので、現時点では、追加実装なしで画面解像度を取得することはできません。iOS デバイスのユーザーエージェント文字列が課す制限を回避するには、次のコードのスニペットを使用して、prop または eVar に渡します。

if (navigator.userAgent.indexOf('iPhone') > -1)
{s.eVarXX = screen.width + "x" + screen.height;}

このスニペットは、最初にデバイスが iPhone であるかどうかをまず検出します。iPhone である場合、コードは JavaScript を利用して画面の解像度をプルします。この方法を使用すると、少なくとも iPhone 5、iPhone 4 およびそれ以前の世代を区別できます。

 

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー