注意: クロスプラットフォームのプロジェクトでは、UNITY_ANDROID
#define ディレクティブを使用して Android 特有の C# コードを条件付きでコンパイルします。プラットフォーム依存のコンパイル を参照してください。
アプリケーションは Input クラスと Handheld クラスを通して Android デバイスのほとんどの機能にアクセスできます。詳細は、以下を参照してください。
バイブレーションを行うには Handheld.Vibrate を呼び出します。バイブレーションの機能がないデバイスでは、この呼び出しは無視されることに注意してください。
モバイル OS には、動作が遅いときに使用できるビルトインのアクティビティインジケーターがあります。詳細は、Handheld.StartActivityIndicator を参照してください。
デバイス固有のプロパティにアクセスするには、以下のスクリプトを使用します。
スクリプト | デバイスプロパティ |
---|---|
SystemInfo.deviceUniqueIdentifier | 常に ANDROID_ID の md5 を返します。詳細については、Android デベロッパードキュメントの ANDROID_ID を参照してください。 |
SystemInfo.deviceName | デバイス名を返します。Android デバイスの場合、Unity は安全なシステム設定から device_name と bluetooth_name を読み取ろうとします。これらの文字列に値がない場合、Unity は <unknown> を返します。 |
SystemInfo.deviceModel | デバイスモデルを返します。多くの場合、これには製造社名とモデル番号が含まれます (例えば、“LGE Nexus 5 や ”SAMSUNG-SM-G900A" など)。 |
SystemInfo.operatingSystem | オペレーティングシステムの名前とバージョンを返します。 |
ユーザーに関するライセンス情報を取得し海賊版を防止するために、Google は Google Play Application Licensing と呼ばれるサービスを提供しています。この機能を Unity アプリケーションに統合する方法の例は、Asset Store の Google Play Application License Verification プラグインのサンプルを参照してください。また、プラグインのソースコードはGitHub リポジトリ からダウンロードすることができます。
iOS と Android デバイス両方で、自由にアプリケーションの画面の向きを制御することができます。ユーザーが持っているデバイスの向きに応じてゲーム画面も変更させたり、特定の向きに固定することは、ユーザーがデバイスを持つ向きに合わせてゲームの動作を調整するために有用です。
デバイスの向きは Screen.orientation を使って取得できます。向きには以下のようなものがあります。
向き | 動作 |
---|---|
Portrait | 縦向きのモードです。デバイスを直立させると、ホームボタンは下になります。 |
PortraitUpsideDown | 縦向きのモードです。ただし、デバイスを直立させると、ホームボタンが上になります。 |
LandscapeLeft | 縦向きのモードです。デバイスを直立させると、ホームボタンが右側になります。 |
LandscapeRight | 縦向きのモードです。デバイスを直立させると、ホームボタンが左側になります。 |
Screen.orientation に上の画面の向きの 1 つを設定するか、ScreenOrientation.AutoRotation を使って画面の向きを制御します。画面を自動で回転させる場合も、状況に応じていくつかの向きを無効にすることが可能です。
自動回転をコントロールするには、以下のスクリプトを使用します。