Saltar al contenido

Comenzando

  1. Instalar el Plugin

    Ventana de terminal
    npm i @Capgo/Capacitor-sim
  2. Sincronizar plataformas

    Ventana de terminal
    npx cap sync
  • 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 a getSimCards.
  • 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');
}
}
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,
});
});
  • Dispositivos Dual SIM: Itera a través del array devuelto; cada entrada corresponde a una ranura. Cuando está presente, subscriptionId te 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.