権限
ARDKの一部の機能で必要となるデバイスの権限の処理方法について説明します。
機能 |
必要な権限 |
説明 |
---|---|---|
ARSession |
カメラ |
Androidでは、 |
位置情報サービス |
(正確な)位置情報 |
権限が不足している場合は、 |
マルチプレイヤー |
ローカルネットワーク |
iOSでのみ必要です。マルチプレイヤー( |
注釈
VPSのWayspot Anchors機能では、ARSessionとLocationServiceの両方の機能を実行するため、上記の機能で求められるすべての権限が必要です。
権限をリクエストする
iOSでは、その権限を必要とする機能が最初に起動されたときにプラットフォームから自動的に権限がリクエストされますが、Androidでは、アプリケーションコードのどこかで権限をリクエストする必要があります。ARDKの PermissionRequester APIでは、 UnityのAndroid Permissions API をラップアラウンドして、権限をリクエストするメソッドでasync/awaitオプションとcallbackオプションの両方を使用できます。
AndroidとiOSのどちらでも、権限をリクエストするタイミングや方法を詳細に制御できるように、プラットフォームに依存しない権限要求APIを開発中です。
UnityでAndroid Permissionsコンポーネントを使用する
ARDKには、 PermissionRequester
を簡単に使用できるように、Android Permissionsヘルパーコンポーネントが用意されています。UnityのAR Session Managerにこのコンポーネントを追加し、必要なアクセス権限をリクエストするように設定します。
例えば、セッション開始時にユーザーにカメラ使用許可を求めるには、ARセッションマネージャーにAndroid承認ヘルパーを追加しましょう。サイズ を1に設定し、ドロップダウンに**カメラ** があることをご確認ください。これにより、実行時にアプリがユーザーに対してカメラ使用の許可を求めるようにできます。