はじめに
セットアップ
package.jsonファイルのdependenciesセクションに、以下のライブラリ依存関係を追加します。
使用方法
実行時の権限のリクエスト
カメラやマイクなどのリソースにアクセスする許可をリクエストするには、以下のメソッドを使用します。 利用可能なすべての権限のセットについては、PermissionsKeplerのPERMISSIONSを参照してください。呼び出し側パッケージ用のgetPrivilegeState()
getPrivilegeState()メソッドには2つのバージョンがあります。アプリで使用するためのバージョンは、次のように定義されています。
awaitまたはthen()コンストラクトを使用して待機できるPromise<SecurityManagerTypes.PrivilegeState>オブジェクトを返します。
成功すると、Promiseのペイロードは権限の現在の状態を示します。これは次のいずれかになります。
SecurityManagerTypes.PrivilegeState.ALLOW- ユーザーは既に、リクエストされた権限をこのアプリに付与することに同意しています。ユーザーに権限をリクエストする必要はありません。SecurityManagerTypes.PrivilegeState.DENY- ユーザーは既に権限のリクエストを拒否しているか、まだ同意のリクエストが行われていません。requestPrivilege()メソッドを使用して、ユーザーに同意を求める画面を表示します。
requestPrivilege()
アプリから権限にアクセスする必要があるときは、requestPrivilege()メソッドを呼び出します。OSは権限リクエストハンドラーを起動して応答します。権限リクエストハンドラーは、ユーザーに同意を求めて結果を保存するシステムコンポーネントです。
SecurityManagerTypes.PrivilegeState.ALLOW- ユーザーはアプリへの権限の付与に同意しました。アプリは、必要な特権リソースへのアクセスを続行する必要があります。SecurityManagerTypes.PrivilegeState.DENY- ユーザーは権限のリクエストを拒否しました。アプリは適切に機能を制限する必要があります。アクセスの許可を連続的にユーザーに求めないでください。このメソッドを再び呼び出すのは、ユーザーが別のアクションを実行して、保護されたリソースにアプリからアクセスしようとしたことが示された場合に限定します。
使用例
次の例は、セキュリティマネージャーを使用してアプリにマイクのアクセス権限を実装する方法を示しています。このコードは、ユーザーが録音機能にアクセスしようとしたときにマイクの権限を確認してリクエストするための完全なフローを示しています。これには、適切なエラー処理や、ユーザーが選択した権限に基づく適切な画面への移動が含まれます。権限が与えられると、ユーザーは録音画面に誘導されます。拒否された場合は、アクセス拒否画面が表示されます。権限リクエストハンドラーとプライバシーダッシュボード
権限リクエストハンドラーは、権限にアクセスするための同意をユーザーから取得し、その結果を保存するシステムコンポーネントです。 プライバシーダッシュボードは、ユーザーがプライバシー設定を表示および変更できる、設定アプリ内の一元化された場所です。権限リクエストハンドラー用のgetPrivilegeState()
権限コンポーネントが使用するバージョンのgetPrivilegeState()メソッドは、次のように定義されています。
awaitまたはthen()コンストラクトを使用して待機できるPromise<SecurityManagerTypes.PrivilegeState>オブジェクトを返します。
成功すると、Promiseのペイロードは権限の現在の状態を示します。これは次のいずれかになります。
SecurityManagerTypes.PrivilegeState.ALLOW- ユーザーは既に、リクエストされた権限をこのアプリに付与することに同意しています。SecurityManagerTypes.PrivilegeState.DENY- ユーザーは既に権限のリクエストを拒否しているか、まだ同意のリクエストが行われていません。
使用例
アクセス制御
このメソッドには、実行時の権限のcom.amazon.privilege.package.queryが必要です。このメソッドを使用すると、呼び出し側はユーザーがインストールしたアプリを特定できることになり、それがプライバシー上の懸念に該当するためです。この権限を取得するには、呼び出し側のアプリにプラットフォーム署名が必要です。
権限に関する手間と煩わしさを減らすために、Keplerは、アプリが初めて権限をリクエストしたときにのみこのモーダルダイアログを表示します。ユーザーがダイアログで選択を行うと、その設定が記録されます。ユーザーは、設定アプリを使用していつでも自由に選択を変更できます。
権限エラー
マニフェストで宣言されていないサービスをアプリが使用している場合、アプリの起動時にエラーが表示されます。 次のログメッセージの例は、アプリのマニフェストでWi-Fiサービスの依存関係が正しく宣言されていないことを意味します。関連トピック
実行時の権限のリクエストAPIリファレンス
クラス
- ICredential
- SecurityManager - SecurityManagerクラスは、権限を操作するためのAPIを提供します。
インターフェイス
列挙型
- PrivilegeState - 実行時権限の可能な状態を定義する列挙型。

