Comenzando
-
Instalar el Plugin
Ventana de terminal npm i @Capgo/Capacitor-simVentana de terminal pnpm add @Capgo/Capacitor-simVentana de terminal yarn add @Capgo/Capacitor-simVentana de terminal bun add @Capgo/Capacitor-sim -
Sincronizar plataformas
Ventana de terminal npx cap syncVentana de terminal pnpm cap syncVentana de terminal yarn cap syncVentana de terminal bunx cap sync
Permisos
Section titled “Permisos”- Android: Asegúrate de que
android.permission.READ_PHONE_STATE(y en Android 13+,READ_BASIC_PHONE_STATE) esté otorgado. Capacitor incluye las declaraciones del manifiesto, pero debes solicitar el permiso antes de llamar agetSimCards. - iOS: La información del operador está disponible automáticamente; la plataforma no solicita permisos adicionales. Ten en cuenta los datos limitados devueltos en iOS 16.4+ debido a restricciones del sistema operativo.
Solicitar acceso en tiempo de ejecución (Android)
Section titled “Solicitar acceso en tiempo de ejecución (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'); }}Leer tarjetas SIM
Section titled “Leer tarjetas 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, });});Consideraciones de plataforma
Section titled “Consideraciones de plataforma”- Dispositivos Dual SIM: Itera a través del array devuelto; cada entrada corresponde a una ranura. Cuando está presente,
subscriptionIdte ayuda a interactuar con las APIs de telefonía de Android. - iOS 16.4+: Apple oculta varios atributos del operador. Espera valores de marcador de posición (
--,65535) y planifica alternativas en tu interfaz de usuario. - Web: El Plugin se resuelve con datos vacíos porque los navegadores no pueden acceder a la información SIM.