Lompat ke konten

iOS

GitHub

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

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

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

Gunakan ios.handleType untuk mengontrol bagaimana CallKit mengatur handle:

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

Plugin ini tidak mendaftarkan PushKit atau APNs untuk Anda.

Untuk getaran yang sebenarnya di latar belakang atau keadaan terhenti 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 getaran Anda hanya ada di JavaScript, Anda akan mendapatkan pengalaman terbaik ketika aplikasi sudah berjalan di latar depan.

CallKit tidak menggantikan media SDK Anda. Jika sesi panggilan nyata menggunakan akses mikrofon atau kamera, deskripsi penggunaan masih harus 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 membutuhkan.

Tahan tanggung jawab ini di lapisan aplikasi Anda

Bab berjudul “Tahan tanggung jawab ini di lapisan aplikasi Anda”
  • Pendaftaran PushKit dan APNs
  • Autentikasi dan pembaruan token
  • Masuk ke ruang nyata atau sesi VoIP setelah callAccepted
  • Menyelesaikan atau menyeimbangkan keadaan panggilan remote ketika plugin memancarkan callDeclined, callEnded, atau callTimedOut

Jika Anda menggunakan iOS untuk merencanakan kerja plugin native, hubungkannya dengan Menggunakan @capgo/capacitor-kit-panggilan-masuk untuk kemampuan native di Menggunakan @capgo/capacitor-kit-panggilan-masuk, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin-Plugin Capacitor oleh Capgo untuk detail implementasi di Plugin-Plugin Capacitor oleh Capgo, Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin, dan Alternatif Plugin Enterprise Ionic untuk alur produk dalam Alternatif Plugin Enterprise Ionic.