特定のデバイス情報にアクセスすることができます。詳細は以下のページを参照してください。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 | ホームボタンが上側にある、Portrait とは逆向きのモード |
LandscapeLeft | ホームボタンが右側にある、端末を左に90度(画面は右側に90度)回転させたモード |
LandscapeRight | ホームボタンが左側にある、端末を右に90度(画面は左側に90度)回転させたモード |
画面の向きを指定する場合は Screen.orientation に特定の向きを設定し、画面の向きに合わせ回転させるには ScreenOrientation.AutoRotation を使用します。 Auto Rotation とした場合は、特定の向きだけを無効化することもできます。詳細は以下のページを参照してください。Screen.autorotateToPortrait、Screen.autorotateToPortraitUpsideDown、Screen.autorotateToLandscapeLeft、Screen.autorotateToLandscapeRight
デバイスの世代によって、サポートされている機能に違いがあり、加えてパフォーマンスも幅広く差があります。なので、デバイスの遅さを補うために機能を無効化する判断をデバイスの世代で判断しなければいけません。デバイスの世代は iOS.DeviceGeneration で判別することができます。
デバイス世代ごとの情報、パフォーマンス、サポートされている機能については iOS ハードウェアガイドガイド を参照してください。