Vai al contenuto

Iniziare

  1. Installa il plugin

    Terminal window
    npm i @capgo/capacitor-sim
  2. Sincronizza le piattaforme

    Terminal window
    npx cap sync
  • Android: Assicurati che android.permission.READ_PHONE_STATE (e su Android 13+, READ_BASIC_PHONE_STATE) sia concesso. Capacitor include le dichiarazioni del manifest, ma devi richiedere il permesso prima di chiamare getSimCards.
  • iOS: Le informazioni del gestore sono disponibili automaticamente; la piattaforma non richiede permessi aggiuntivi. Tieni presente che i dati restituiti sono limitati su iOS 16.4+ a causa delle restrizioni del sistema operativo.
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,
});
});
  • Dispositivi Dual SIM: Itera attraverso l’array restituito; ogni voce corrisponde a uno slot. Quando presente, subscriptionId ti aiuta a interagire con le API di telefonia di Android.
  • iOS 16.4+: Apple oscura diversi attributi del gestore. Aspettati valori segnaposto (--, 65535) e prevedi soluzioni alternative nella tua interfaccia utente.
  • Web: Il plugin restituisce dati vuoti perché i browser non possono accedere alle informazioni della SIM.