Version: 2019.1
iOS Game Controller への対応
iOS でのパフォーマンスを最適化

上級者向け Unity モバイルスクリプト

## デバイスプロパティー

デバイス特有のプロパティーには、アクセス可能なものがいくつかあります。詳細は以下のページを参照してください。SystemInfo.deviceUniqueIdentifierSystemInfo.deviceNameSystemInfo.deviceModelSystemInfo.operatingSystem

海賊版チェック

海賊行為をする者は、ときにアプリケーションをハッキングして (AppStore DRM プロテクションを外して)、アプリケーションを無料で再配布してしまいます。Unity では、海賊版かどうかをチェックする仕組みがあり、AppStore に提出した 後でも アプリケーションが変更されたかを判断することができます。

アプリケーションがハッキングされていない純正なものであるかを Application.genuine でチェックすることができます。もしこのプロパティーが false を返した場合、アプリケーションがハッキングされたものであるとユーザーに通知したり、アプリケーションの一部の機能へのアクセスを無効化できます。

注意 Application.genuineCheckAvailable は、Application.genuine と一緒に使用して、アプリケーションに一貫性があるかの確認を検証することが必要です。Application.genuine プロパティーへのアクセスは、とても高価な操作であるためフレームの更新中やスピードが重視されるコードのときに使用すべきではありません。

バイブレーション対応

バイブレーションを行うには Handheld.Vibrate を呼び出します。バイブレーションの機能がないデバイスでは、この呼び出しは無視されることに注意してください。

アクティブティインジケーター

モバイル OS には内蔵のアクティビティインジケーターがあり、処理に時間がかかる時に表示すると便利なものです。使用例については Handheld.StartActivityIndicator docs を参照してください。

画面の向き

iOS/Android では、自由に画面の向きを変更することができます。ユーザーが持っている端末の向きに応じてゲーム画面も変更させたり、ユーザーがデバイスを持つ向きに合わせてゲームの動作を調整したい場合に特定の向きのみ回転させることも可能です。

デバイスの向きは Screen.orientation から取得することができます。以下のような向きがあります。

Portrait 縦向きのモードです。デバイスを直立させると、ホームボタンは下になります。
PortraitUpsideDown 縦向きのモードです。ただし、デバイスを直立させると、ホームボタンが上になります。
LandscapeLeft 縦向きのモードです。デバイスを直立させると、ホームボタンが右側になります。
LandscapeRight 縦向きのモードです。デバイスを直立させると、ホームボタンが左側になります。

画面の向きを指定する場合は Screen.orientation に特定の向きを設定し、画面の向きに合わせ回転させるには ScreenOrientation.AutoRotation を使用します。自動に回転させる場合でも、状況に応じて、一部の向きを無効にすることもできます。詳細は以下のページを参照してください。Screen.autorotateToPortraitScreen.autorotateToPortraitUpsideDownScreen.autorotateToLandscapeLeftScreen.autorotateToLandscapeRight


上級者向け iOS スクリプト

デバイスの世代の判断

デバイスの世代によって、サポートされている機能に違いがあり、さらにパフォーマンスも差があります。そのため、デバイスの世代を判定して、遅さを補うためにどの機能を無効にするかを決めなければなりません。デバイスの世代は iOS.DeviceGeneration で判定することができます。

デバイスの世代ごとの情報、パフォーマンス、サポートされている機能については iOS ハードウェアガイドガイド を参照してください。

iOS Game Controller への対応
iOS でのパフォーマンスを最適化