Zum Inhalt springen

Erste Schritte

  1. Installieren Sie das Plugin

    Terminal-Fenster
    npm i @capgo/capacitor-sim
  2. Plattformen synchronisieren

    Terminal-Fenster
    npx cap sync
  • Android: Stellen Sie sicher, dass android.permission.READ_PHONE_STATE (und bei Android 13+, READ_BASIC_PHONE_STATE) gewährt wird. Capacitor enthält die Manifest-Deklarationen, aber Sie müssen die Erlaubnis anfordern, bevor Sie getSimCards aufrufen.
  • iOS: Anbieterinformationen sind automatisch verfügbar; Die Plattform fordert nicht zur Eingabe zusätzlicher Berechtigungen auf. Beachten Sie die begrenzten Daten, die aufgrund von Betriebssystemeinschränkungen auf iOS 16.4+ zurückgegeben werden.
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,
});
});
  • Dual-SIM-Geräte: Durchlaufen Sie das zurückgegebene Array; Jeder Eintrag entspricht einem Slot. Wenn vorhanden, hilft Ihnen subscriptionId bei der Interaktion mit den Telefonie-APIs von Android.
  • iOS 16.4+: Apple schwärzt mehrere Trägerattribute. Erwarten Sie Platzhalterwerte (--, 65535) und planen Sie Fallbacks in Ihrer Benutzeroberfläche.
  • Web: Das Plugin wird mit leeren Daten aufgelöst, da Browser nicht auf SIM-Informationen zugreifen können.