AppleのiPad Miniは、私たちが望む以上に、iPad 2の小さなクローンです。JavaScriptでは、window.navigator
オブジェクトはMiniとiPad 2で同じ値を公開します。違いを検出するためのこれまでの私のテストでは成功していません。
何でこれが大切ですか?
iPad MiniとiPad 2の画面はピクセルは同じですが、実際のサイズ(インチ/センチメートル)が異なるため、PPI(ピクセル/インチ)も異なります。
ウェブアプリケーションやゲームで使いやすいユーザーインターフェースを提供するには、特定の要素のサイズをユーザーの親指や指の位置に応じて調整するため、特定の画像やボタンを拡大して、ユーザーエクスペリエンスを向上させることができます。
私がこれまでに試したこと(いくつかのかなり明白なアプローチを含む):
window.devicepixelratio
- CSS要素の幅(cm単位)
- CSSメディアクエリ(
resolution
およびなど-webkit-device-pixel-ratio
) - 同様の単位のSVG図面
- すべての種類のCSS Webkit変換を設定された時間実行し、レンダリングされたフレームをカウントします
requestAnimFrame
(測定可能な違いを検出することを望んでいました)
私はアイデアが新鮮です。あなたはどう?
アップデート これまでの回答に感謝します。iPad miniと2の検出に反対する人々にコメントしたいと思います。Appleはええと、それらすべてを支配する1つのガイドラインがあるからです。さて、ここでは、人がiPad miniまたは2のどちらを使用しているかを知ることが世界中で本当に理にかなっていると思う理由を説明します。そして、私の推論を好きなようにしてください。
iPad miniは非常に小さいデバイス(9.7インチ対7.9インチ)であるだけでなく、そのフォームファクターによってさまざまな使用法が可能になります。iPad 2は、チャックノリスでない限り、ゲームをするときは通常両手で持ちます。miniは小さくなりますが、軽量であり、片手で握り、別の手でスワイプやタップなどの操作を行うことができます。私自身、ゲームデザイナーおよび開発者として、それがミニかどうかを知りたいので、必要に応じて(たとえば、プレーヤーのグループでのA / Bテストの後に)プレーヤーに別のコントロールスキームを提供することを選択できます。
どうして?まあ、それはほとんどのユーザーがデフォルト設定で行く傾向があるので、プレーヤーがロードしたときに仮想サムスティックを省き、他のタップベースのコントロールを画面に配置することです(ここでは任意の例を示します)。初めてのゲームは、私、そしておそらく他のゲームデザイナーができることを望んでいることです。
だから私見これは細い指/ガイドラインの議論を超えて、Appleと他のすべてのベンダーがやるべきことです:ガイドラインに従うのではなく、私たちがあなたのデバイスを一意に識別し、異なることを考えられるようにします。