ガイド
Capacitor での Permissions の使い方
@capgo/capacitor-permissions の使用方法
iOS、Android、Web で、正規化されたステータスコードを使用して実行時の権限確認とリクエストを行う、単一の TypeScript API。
インストール
bun add @capgo/capacitor-permissions
bunx cap sync
このプラグインで利用可能な機能
check- プロンプトを表示せずに、特定の権限の現在のステータスを確認します。request- ユーザーに特定の権限をリクエストします。checkMultiple- プロンプトを表示せずに、複数の権限をまとめて確認します。requestMultiple- 複数の権限を順番にリクエストします。shouldShowRationale- 再リクエスト前にAndroidで説明(rationale)を表示するかどうかを指定します。openSettings- アクセスが拒否されている場合に、アプリまたは通知の設定画面を開きます。requestPreciseLocation- iOSでは「正確な位置情報」、Androidでは「詳細な位置情報」へのアップグレードを行います。getPluginVersion- プラットフォームの実装バージョンマーカーを返します。
実装例
check と request
import { Permissions } from '@capgo/capacitor-permissions';
export async function ensureCamera(): Promise<boolean> {
const { status } = await Permissions.check({ permission: 'camera' });
if (status === 'granted') return true;
const { status: afterRequest } = await Permissions.request({ permission: 'camera' });
return afterRequest === 'granted';
}
openSettings
import { Permissions } from '@capgo/capacitor-permissions';
document.getElementById('camera-settings')?.addEventListener('click', async () => {
const { status } = await Permissions.check({ permission: 'camera' });
if (status === 'blocked') {
await Permissions.openSettings({ type: 'application' });
}
});
リファレンス全文
- GitHub: https://github.com/Cap-go/capacitor-permissions/
- ドキュメント: /docs/plugins/permissions/