メインコンテンツへスキップ
@capgo/capacitor-permissions デバイスAPI オープンソース

権限 Capacitor プラグイン

PermissionName enum と正規化されたステータスコードを使用して、iOS、Android、Web 上の実行時権限の確認とリクエストを可能にします

インストール

bun add @capgo/capacitor-permissions bunx cap sync
npm、pnpm、または yarn
  • npm install @capgo/capacitor-permissions
  • pnpm add @capgo/capacitor-permissions
  • yarn add @capgo/capacitor-permissions

ガイド

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' });
  }
});

リファレンス全文

よくある質問

Permissions プラグイン FAQ

Capacitor アプリに Permissions プラグインをインストールするにはどうすればよいですか?

"bun add @capgo/capacitor-permissions"(または "npm install @capgo/capacitor-permissions")を実行し、続けて "bunx cap sync" を実行すると、iOS と Android のプロジェクトにネイティブの code が反映されます。アプリの code で "@capgo/capacitor-permissions" からインポートしてください。

@capgo/capacitor-permissions は React、Vue、Angular で動作しますか?

はい。Permissions は Capacitor パッケージなので、Ionic、React、Vue、Angular、Svelte、素の JavaScript など、Capacitor 上で動く Web フレームワークならどれでも使えます。

@capgo/capacitor-permissions はどの Capacitor バージョンをサポートしていますか?

Capgo プラグインは Capacitor のメジャーバージョンに合わせています。使用している Capacitor のメジャーバージョンと一致するプラグインのメジャーバージョンを使ってください (例: Capacitor 8 ならプラグイン v8)。GitHub の README にある互換性テーブルに、メンテナンス中のバージョンが記載されています。

@capgo/capacitor-permissions は無料でオープンソースですか?

はい。code は GitHub の https://github.com/Cap-go/capacitor-permissions/ で公開されており、パッケージは npm から無料でインストールできます。バグ報告やプルリクエストも歓迎です。

App Store の審査を受けずに、Permissions を使っている code をアップデートできますか?

このプラグインをインストールまたはアップグレードするとネイティブの code が変わるため、ストア向けの新しいビルドが必要です。その後は、プラグインを呼び出す JavaScript、HTML、CSS の変更を Capgo によるライブアップデートで即座に配信できます。

アプリの審査を待たずに、権限設定の変更をリリース

ストアビルドにプラグインを組み込めば、Capgo のライブアップデートで JavaScript、HTML、CSS の変更を数分でユーザーに配信できます。

Capgo から始める