Lompat ke konten

iOS

Pada iOS, plugin melaporkan panggilan masuk ke CallKit. Hal itu memberikan Anda lembaran panggilan masuk sistem dan aksi panggilan standar tanpa harus membangun UI panggilan masuk native sendiri.

requestPermissions() Ditangani segera pada iOS karena CallKit itu sendiri tidak memerlukan dialog izin waktu eksekusi.

Contoh dasar

Contoh dasar
import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
handle: '+1 555 010 020',
ios: {
handleType: 'phoneNumber',
supportsHolding: true,
supportsDTMF: false,
},
});

Tipe handle

Tipe handle

Gunakan ios.handleType untuk mengatur cara CallKit mengatur handle:

  • generic untuk identifikasi aplikasi khusus
  • phoneNumber untuk nomor telepon nyata
  • emailAddress untuk identitas berbasis email

Tidak terdaftar

Untuk mengaktifkan pengingat latar belakang atau berhenti-aktif pada iOS, aplikasi host Anda masih memerlukan pengaturan push native Apple yang sesuai dengan strategi transportasi Anda:

  1. Aktifkan Notifikasi Push ketika transportasi Anda menggunakan pengiriman push Apple.
  2. Aktifkan mode latar belakang Voice over IP ketika aplikasi Anda menggunakan aliran push VoIP.
  3. Kirimkan event panggilan masuk ke aplikasi Anda dan panggil plugin ini segera setelah jembatan Capacitor tersedia.

Jika event ring Anda hanya ada di JavaScript, Anda akan mendapatkan pengalaman terbaik ketika aplikasi sudah berjalan di latar depan.

CallKit tidak menggantikan media SDK. Jika sesi panggilan nyata menggunakan akses mikrofon atau kamera, deskripsi penggunaan masih ada di aplikasi Anda:

<key>NSMicrophoneUsageDescription</key>
<string>This app uses the microphone for calls.</string>
<key>NSCameraUsageDescription</key>
<string>This app uses the camera for video calls.</string>

Tambahkan hanya kunci yang aliran panggilan nyata Anda butuhkan.

Tahan tanggung jawab ini di layer aplikasi Anda

Judul bagian “Tahan tanggung jawab ini di layer aplikasi Anda”
  • Pendaftaran PushKit dan APNs
  • Autentikasi dan pengulangan token
  • Mengikuti ruang nyata atau sesi VoIP setelah callAccepted
  • Mengakhiri atau menyatukan status panggilan remote ketika plugin memancarkan callDeclined, callEnded, atau callTimedOut