特定のデバイス情報にアクセスすることができます。詳細は以下のページを参照してください。SystemInfo.deviceUniqueIdentifier、SystemInfo.deviceName、SystemInfo.deviceModel、SystemInfo.operatingSystem
海賊行為をする者は、ときにアプリをハッキングして( AppStore DRM プロテクションを外して)、アプリをフリーで再配布してしまいます。Unity では、海賊版かどうかをチェックする仕組みがあり、AppStore に提出した 後でも アプリが変更されたかを判断することができます。
アプリがハッキングされていない純正なアプリであるかを Application.genuine でチェックすることができます。もしこのプロパティーが false を返した場合、アプリがハッキングされたものであるとユーザーに通知したり、アプリの一部の機能へのアクセスを無効化できます。
注意: Application.genuineCheckAvailable は、Application.genuine と一緒に使用して、アプリに一貫性があるかの確認を検証することができます。Application.genuine へのアクセスは、とても高価な操作であるためフレームの更新中やスピードが重視されるコードのときに使用すべきではありません。
バイブレーションを行うには Handheld.Vibrate を呼び出します。バイブレーションの機能がないデバイスでは、この呼び出しは無視されることに注意してください。
モバイル OS には内蔵のアクティビティインジケーターがあり、処理に時間がかかる時に表示すると便利なものです。使用例については Handheld.StartActivityIndicator docs を参照してください。
iOS/Android/Tizen では、自由に画面の向きを変更することができます。ユーザーが持っている端末の向きに応じてゲーム画面も変更させたり、特定の向きのみ回転させることも可能です。
デバイスの向きは Screen.orientation から取得することができます。向きは以下のように表します。
Portrait | 縦向きのモードです。デバイスを直立させると、ホームボタンは下になります。 |
PortraitUpsideDown | 縦向きのモードです。ただし、デバイスを直立させると、ホームボタンが上になります。 |
LandscapeLeft | 縦向きのモードです。デバイスを直立させると、ホームボタンが右側になります。 |
LandscapeRight | 縦向きのモードです。デバイスを直立させると、ホームボタンが左側になります。 |
画面の向きを指定する場合は Screen.orientation に特定の向きを設定し、画面の向きに合わせ回転させるには ScreenOrientation.AutoRotation を使用します。 Auto Rotation とした場合は、特定の向きだけを無効化することもできます。詳細は以下のページを参照してください。Screen.autorotateToPortrait、Screen.autorotateToPortraitUpsideDown、Screen.autorotateToLandscapeLeft、Screen.autorotateToLandscapeRight
デバイスの世代によって、サポートされている機能に違いがあり、さらにパフォーマンスも差があります。なので、デバイスの遅さを補うために機能を無効化する判定をデバイスの世代によってしなければいけません。デバイスの世代は iOS.DeviceGeneration で判定することができます。
デバイスの世代ごとの情報、パフォーマンス、サポートされている機能については iOS ハードウェアガイドガイド を参照してください。