はじめる
-
プラグインをインストールします
Terminal window npm i @capgo/capacitor-simTerminal window pnpm add @capgo/capacitor-simTerminal window yarn add @capgo/capacitor-simTerminal window bun add @capgo/capacitor-sim -
プラットフォームを同期する
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
- Android:
android.permission.READ_PHONE_STATE(および Android 13 以降、READ_BASIC_PHONE_STATE) が付与されていることを確認します。 Capacitor にはマニフェスト宣言が含まれていますが、getSimCardsを呼び出す前に権限をリクエストする必要があります。 - iOS: 通信事業者情報は自動的に利用可能です。プラットフォームは追加の権限を要求しません。 OS の制限により、iOS 16.4 以降では返されるデータが限られていることに注意してください。
ランタイム アクセスをリクエストする (Android)
Section titled “ランタイム アクセスをリクエストする (Android)”import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.checkPermissions();if (status.readSimCard !== 'granted') { const updated = await Sim.requestPermissions(); if (updated.readSimCard !== 'granted') { throw new Error('Telephony permission denied'); }}SIM カードを読み取る
Section titled “SIM カードを読み取る”const { simCards } = await Sim.getSimCards();
simCards.forEach((card, index) => { console.log(`Slot ${card.simSlotIndex ?? index}:`, { carrier: card.carrierName, mcc: card.mobileCountryCode, mnc: card.mobileNetworkCode, country: card.isoCountryCode, subscriptionId: card.subscriptionId, });});プラットフォームの考慮事項
Section titled “プラットフォームの考慮事項”- デュアル SIM デバイス: 返された配列を反復処理します。各エントリはスロットに対応します。
subscriptionIdが存在すると、Android のテレフォニー API との対話に役立ちます。 - iOS 16.4+: Apple はいくつかの通信事業者属性を編集します。プレースホルダー値 (
--、65535) を想定し、UI でのフォールバックを計画します。 - Web: ブラウザーは SIM 情報にアクセスできないため、プラグインは空のデータで解決されます。