Langsung ke konten

Memulai

  1. Instal pluginnya

    Terminal window
    npm i @capgo/capacitor-sim
  2. Sinkronisasi platform

    Terminal window
    npx cap sync
  • Android: Pastikan android.permission.READ_PHONE_STATE (dan pada Android 13+, READ_BASIC_PHONE_STATE) diberikan. Capacitor menyertakan deklarasi manifes, namun Anda harus meminta izin sebelum menelepon getSimCards.
  • iOS: Informasi operator tersedia secara otomatis; platform tidak meminta izin tambahan. Perhatikan terbatasnya data yang dikembalikan pada iOS 16.4+ karena pembatasan OS.
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,
});
});
  • Perangkat SIM ganda: Melakukan iterasi melalui array yang dikembalikan; setiap entri sesuai dengan slot. Saat ini, subscriptionId membantu Anda berinteraksi dengan API telepon Android.
  • iOS 16.4+: Apple menyunting beberapa atribut operator. Harapkan nilai placeholder (--, 65535) dan rencanakan penggantian di UI Anda.
  • Web: Plugin mengatasi data kosong karena browser tidak dapat mengakses informasi SIM.