Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-sim`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/sim/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-sim` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando los siguientes comandos y sigue las instrucciones específicas para cada plataforma a continuación:
bun add @capgo/capacitor-simbunx cap syncImportar
Sección titulada “Importar”import { Sim } from '@capgo/capacitor-sim';Inicio rápido
Sección titulada “Quick start”import { Sim } from '@capgo/capacitor-sim';
const { simCards } = await Sim.getSimCards();simCards.forEach((sim, index) => { console.log(`SIM ${index + 1}:`); console.log(` Carrier: ${sim.carrierName}`); console.log(` Country: ${sim.isoCountryCode}`); console.log(` MCC: ${sim.mobileCountryCode}`); console.log(` MNC: ${sim.mobileNetworkCode}`);});Ejemplo: checkPermissions
Sección titulada “Ejemplo: checkPermissions”import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.checkPermissions();if (status.readSimCard === 'granted') { console.log('Permission granted');} else { console.log('Permission not granted');}Ejemplo: requestPermissions
Sección titulada “Ejemplo: requestPermissions”import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.requestPermissions();if (status.readSimCard === 'granted') { // Now you can call getSimCards() const simCards = await Sim.getSimCards();}Errores comunes
Sección titulada “Errores comunes”- Permisos: llamar
checkPermissions()luegorequestPermissions()cuando sea necesario. - Native sync: ejecuta
bunx cap synctras actualizar el plugin. - Fuente de verdad: confía
src/definitions.tsen el repo de GitHub.
Resumen de API
Sección titulada “API Overview”getSimCards
Sección titulada “getSimCards”Obtén información de las tarjetas SIM del dispositivo.
Recupera detalles de todas las tarjetas SIM instaladas en el dispositivo. En dispositivos dual-SIM, devuelve la información de ambas tarjetas. Requiere el permiso READ_PHONE_STATE en Android.
import { Sim } from '@capgo/capacitor-sim';
const { simCards } = await Sim.getSimCards();simCards.forEach((sim, index) => { console.log(`SIM ${index + 1}:`); console.log(` Carrier: ${sim.carrierName}`); console.log(` Country: ${sim.isoCountryCode}`); console.log(` MCC: ${sim.mobileCountryCode}`); console.log(` MNC: ${sim.mobileNetworkCode}`);});checkPermissions
Sección titulada “checkPermissions”Comprueba el permiso para acceder a la información de la tarjeta SIM.
Verifica si la app tiene permiso para leer los datos de la SIM. En Android, comprueba el permiso READ_PHONE_STATE. En iOS, el permiso siempre se concede. En Web, el permiso siempre se deniega.
import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.checkPermissions();if (status.readSimCard === 'granted') { console.log('Permission granted');} else { console.log('Permission not granted');}requestPermissions
Sección titulada “requestPermissions”Solicita permiso para acceder a la información de la tarjeta SIM.
Muestra un prompt al usuario para conceder el permiso de lectura de la SIM. En Android, solicita el permiso READ_PHONE_STATE. En iOS, el permiso siempre se concede sin mostrar el prompt. En Web, el permiso permanece denegado.
import { Sim } from '@capgo/capacitor-sim';
const status = await Sim.requestPermissions();if (status.readSimCard === 'granted') { // Now you can call getSimCards() const simCards = await Sim.getSimCards();}Referencia de tipos
Sección titulada “Type Reference”GetSimCardsResult
Sección titulada “GetSimCardsResult”Resultado devuelto por .
export interface GetSimCardsResult { simCards: SimCard[];}PermissionStatus
Sección titulada “PermissionStatus”Resultado de una solicitud o comprobación de permisos.
export interface PermissionStatus { readSimCard: PermissionState;}SimCard
Sección titulada “SimCard”Descripción de la tarjeta SIM.
export interface SimCard { /** * Android only: Phone number for this SIM slot, when available. * * @since 1.0.0 */ number?: string;
/** * Android only: Unique subscription identifier. * * @since 1.1.0 */ subscriptionId?: string;
/** * Android only: Physical SIM slot index for this subscription. * * @since 1.1.0 */ simSlotIndex?: number;
/** * iOS only: Indicates whether the carrier supports VoIP. * * @since 1.0.0 */ allowsVOIP?: boolean;
/** * Display name of the cellular service provider. * * On iOS 16.4+ the system may return placeholder values such as `--`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ carrierName: string;
/** * ISO 3166-1 alpha-2 country code of the service provider. * * On iOS 16.4+ the system may return an empty string or `--`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ isoCountryCode: string;
/** * Mobile Country Code (MCC) of the service provider. * * On iOS 16.4+ the system may return placeholder values such as `65535`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ mobileCountryCode: string;
/** * Mobile Network Code (MNC) of the service provider. * * On iOS 16.4+ the system may return placeholder values such as `65535`. * See https://github.com/jonz94/capacitor-sim/issues/8 for details. * * @since 1.0.0 */ mobileNetworkCode: string;}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera desde el src/definitions.tsVuelve a ejecutar la sincronización cuando cambie el API público en el upstream.
Continúa desde Primeros pasos
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar el dashboard y las operaciones de API, conéctalo con Usando @capgo/capacitor-sim para la capacidad nativa en Usando @capgo/capacitor-sim, Resumen de API para los detalles de implementación en el Overview de API, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en API Keys, y Dispositivos para los detalles de implementación en Devices.