コンテンツへスキップ

はじめる

  1. プラグインをインストールします

    Terminal window
    npm i @capgo/capacitor-sim
  2. プラットフォームを同期する

    Terminal window
    npx 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');
}
}
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,
});
});
  • デュアル SIM デバイス: 返された配列を反復処理します。各エントリはスロットに対応します。 subscriptionId が存在すると、Android のテレフォニー API との対話に役立ちます。
  • iOS 16.4+: Apple はいくつかの通信事業者属性を編集します。プレースホルダー値 (--65535) を想定し、UI でのフォールバックを計画します。
  • Web: ブラウザーは SIM 情報にアクセスできないため、プラグインは空のデータで解決されます。