Unity モバイル スクリプティング上級者向け

デバイス プロパティ

参照できるデバイス固有のプロパティがいくつかあります: SystemInfo.deviceUniqueIdentifier, SystemInfo.deviceName, SystemInfo.deviceModel , SystemInfo.operatingSystem

海賊版チェック

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

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

注意: Application.genuine プロパティを参照することはやや高価な処理であり,フレーム Update や処理時間がクリティカルであるコードでは使用すべきではありません。

バイブレーション 対応

バイブレーション をトリガーするには Handheld.Vibrate をコールします。物理的にバイブレーションできないデバイスでは,このコールが無視されることに留意して下さい。

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

モバイル OS にはビルトインのアクティブティ インジケータがあり,これは処理が遅い時に活用できます。使用サンプルについては Handheld.StartActivityIndicator のドキュメント を参照して下さい。

画面の向き

Unity iOS/Android により現在の画面の向きを制御できます。画面の向きが変更されたことの検知,または強制的に画面の向きを変えられることは,ユーザのデバイスの持ち方に応じて異なるゲーム動作を作成する場合に便利です。

Screen.orientationプロパティにアクセスすることでデバイスの向きを取得することが可能です。設定できる画面の向きは以下になります。

Portrait 画面の下にホームボタンがある,普段使うような画面の向きのポートレートモード
PortraitUpsideDown ポートレートモードを逆さまにした画面の向き
LandscapeLeft ポートレートモードを右向きに回転させた横長の画面
LandscapeRight ポートレートモードを左向きに回転させた横長の画面

画面の向きを制御するには Screen.orientation をこれのいずれかにセットするか, ScreenOrientation.AutoRotation にセットします。 Auto Rotation としたい場合は,さらにケースごとにいくつかの画面の向きを無効化できます。Screen.autorotateToPortrait, Screen.autorotateToPortraitUpsideDown, Screen.autorotateToLandscapeLeft ,Screen.autorotateToLandscapeRight

iOS スクリプティング上級者向け

デバイス世代の判断

様々なデバイス世代により異なった機能がサポートされ,パフォーマンスも幅広く違いがあります。デバイス世代のクエリをかけて,遅いデバイスについてどの機能を無効するか判断すべきです。デバイス世代については iPhone.generation プロパティにより見つけられます。

異なったデバイス世代の情報,パフォーマンス,およびサポートされている機能については iPhone ハードウェア ガイド を参照下さい。

Android スクリプティング上級者向け

デバイス世代の判断

様々なデバイス世代により異なった機能がサポートされ,パフォーマンスも幅広く違いがあります。特定のデバイスやデバイス ファミリをターゲットとして,遅いデバイスについてどの機能を無効するか判断すべきです。参照できるデバイス固有のプロパティがいくつかあり,どのデバイスが使用されているか判断することも出来ます。

注意: Androidマーケットプレイスでは,OGLES2用のARMv7のみ最適化されたアプリケーションが古く遅い端末向けに提供されるべきではないので,いくつかの互換性でフィルタリングします。