Guida rapida
Copia un prompt di setup con i passaggi di installazione e la guida markdown completa per questo 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.
Installazione
Sezione intitolata “Install”Puoi usare il nostro Setup assistito dall'AI per installare il plugin. Aggiungi le skill Capgo al tuo tool AI con il comando seguente:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi usa questo prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-sim` plugin in my project.Se preferisci il Setup manuale, installa il plugin eseguendo i comandi seguenti e segui le istruzioni specifiche per piattaforma qui sotto:
bun add @capgo/capacitor-simbunx cap syncImporta
Sezione intitolata “Import”import { Sim } from '@capgo/capacitor-sim';Avvio rapido
Sezione intitolata “Avvio rapido”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}`);});Esempio: checkPermissions
Sezione intitolata “Esempio: 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');}Esempio: requestPermissions
Sezione intitolata “Esempio: 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();}Errori comuni
Sezione intitolata “Errori comuni”- Permessi: chiama
checkPermissions()poirequestPermissions()quando necessario. - Native sync: esegui
bunx cap syncdopo l'aggiornamento dei plugin. - Fonte di verità: fidati
src/definitions.tsnel repo GitHub.
API Panoramica
Sezione intitolata “Panoramica API”getSimCards
Sezione intitolata “getSimCards”Ottieni informazioni dalle SIM del dispositivo.
Recupera i dettagli di tutte le SIM installate sul dispositivo. Sui dispositivi dual-SIM, restituisce le informazioni di entrambe le SIM. Richiede il permesso READ_PHONE_STATE su 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
Sezione intitolata “checkPermissions”Verifica il permesso di accesso ai dati della SIM.
Controlla se l'app ha il permesso di leggere i dati della SIM. Su Android, verifica il permesso READ_PHONE_STATE. Su iOS, lo stato è sempre concesso. Su Web, lo stato è sempre negato.
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
Sezione intitolata “requestPermissions”Richiedi il permesso per accedere ai dati della SIM.
Chiede all'utente di concedere il permesso per leggere i dati della SIM. Su Android, richiede il permesso READ_PHONE_STATE. Su iOS, lo stato è sempre concesso senza prompt. Su Web, lo stato rimane negato.
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();}Riferimento ai tipi
Sezione intitolata “Riferimento ai tipi”GetSimCardsResult
Sezione intitolata “GetSimCardsResult”Risultato restituito da .
export interface GetSimCardsResult { simCards: SimCard[];}PermissionStatus
Sezione intitolata “PermissionStatus”Risultato di un controllo o di una richiesta di permessi.
export interface PermissionStatus { readSimCard: PermissionState;}SimCard
Sezione intitolata “SimCard”Descrizione della scheda 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;}Fonte di verità
Sezione intitolata “Source Of Truth”Questa pagina è generata dal src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.
Continua da Getting Started
Sezione intitolata “Continua da Getting Started”Se stai usando Guida rapida per pianificare dashboard e operazioni API, collegalo a Utilizzo di @capgo/capacitor-sim per la funzionalità nativa in Utilizzo di @capgo/capacitor-sim, API Panoramica per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli implementativi nell'Introduzione, Chiavi API per i dettagli implementativi in API Keys, e Dispositivi per i dettagli implementativi in Dispositivi.