Vai al contenuto

Guida rapida

GitHub

Puoi usare il nostro Setup assistito dall'AI per installare il plugin. Aggiungi le skill Capgo al tuo tool AI con il comando seguente:

Finestra del terminale
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi 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:

Finestra del terminale
bun add @capgo/capacitor-sim
bunx cap sync
import { Sim } from '@capgo/capacitor-sim';
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}`);
});
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');
}
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();
}
  • Permessi: chiama checkPermissions() poi requestPermissions() quando necessario.
  • Native sync: esegui bunx cap sync dopo l'aggiornamento dei plugin.
  • Fonte di verità: fidati src/definitions.ts nel repo GitHub.

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}`);
});

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');
}

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();
}

Risultato restituito da .

export interface GetSimCardsResult {
simCards: SimCard[];
}

Risultato di un controllo o di una richiesta di permessi.

export interface PermissionStatus {
readSimCard: PermissionState;
}

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;
}

Questa pagina è generata dal src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.

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.