Passer au contenu

Commencer

  1. Installez le plugin

    Fenêtre de terminal
    npm i @capgo/capacitor-sim
  2. Plateformes de synchronisation

    Fenêtre de terminal
    npx cap sync
  • Android : assurez-vous que android.permission.READ_PHONE_STATE (et sur Android 13+, READ_BASIC_PHONE_STATE) est accordé. Capacitor inclut les déclarations manifestes, mais vous devez demander l’autorisation avant d’appeler getSimCards.
  • iOS : les informations sur le transporteur sont disponibles automatiquement ; la plate-forme ne demande pas d’autorisations supplémentaires. N’oubliez pas les données limitées renvoyées sur iOS 16.4+ en raison des restrictions du système d’exploitation.

Demander l’accès à l’exécution (Android)

Section titled “Demander l’accès à l’exécution (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,
});
});
  • Appareils double SIM : parcourez le tableau renvoyé ; chaque entrée correspond à un emplacement. Lorsqu’il est présent, subscriptionId vous aide à interagir avec les API de téléphonie de Android.
  • iOS 16.4+ : Apple supprime plusieurs attributs de transporteur. Attendez-vous à des valeurs d’espace réservé (--, 65535) et planifiez des solutions de secours dans votre interface utilisateur.
  • Web : le plugin résout avec des données vides car les navigateurs ne peuvent pas accéder aux informations SIM.