Langsung ke konten

Getting Started

GitHub

Anda dapat menggunakan Pengaturan Setup AI-Assisted untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:

Tampilan jendela terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Lalu gunakan prompt berikut:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.

Jika Anda lebih suka Pengaturan Manual, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:

  1. Pasang paket

    Tampilan jendela terminal
    bun add @capgo/capacitor-incoming-call-kit
  2. Sinkronkan proyek native

    Jendela terminal
    bunx cap sync
  3. Pilih sumber ring Anda Putuskan apakah event panggilan masuk berasal dari backend Anda, sebuah SDK seperti Twilio atau Stream, atau jalur push native seperti FCM atau PushKit.

Plugin ini hanya memiliki presentasi panggilan masuk native. Aplikasi Anda masih memiliki transportasi, autentikasi, dan sesi media yang sebenarnya.

Polanya produksi yang umum adalah:

  1. Backend atau SDK Anda yang mengeluarkan event ring.
  2. Aplikasi Anda menghubungi showIncomingCall().
  3. Plugin ini menampilkan UI panggilan masuk asli.
  4. callAccepted Menginformasikan aplikasi Anda untuk bergabung dengan ruang atau sesi VoIP yang sebenarnya.
  5. callDeclined, callEnded, atau callTimedOut Menginformasikan aplikasi Anda untuk membersihkan status remote.
import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
await IncomingCallKit.addListener('callAccepted', async ({ call }) => {
console.log('Accepted', call.callId, call.extra);
// Start or join your real call session here.
});
await IncomingCallKit.addListener('callDeclined', ({ call }) => {
console.log('Declined', call.callId);
// Tell your backend or SDK that the user declined.
});
await IncomingCallKit.addListener('callTimedOut', ({ call }) => {
console.log('Timed out', call.callId);
// Clear ringing state in your backend or SDK.
});
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
handle: '+39 555 010 020',
appName: 'Capgo Phone',
hasVideo: true,
timeoutMs: 45_000,
extra: {
roomId: 'room-42',
callerUserId: 'user_ada',
},
android: {
channelId: 'calls',
channelName: 'Incoming Calls',
showFullScreen: true,
},
ios: {
handleType: 'phoneNumber',
},
});
  • callId: identifikasi stabil yang digunakan kembali kemudian dengan endCall()
  • timeoutMs: waktu tunggu tidak terjawab dengan upaya terbaik
  • extra: JSON acak yang dipantulkan kembali dalam payload pendengar
  • android.channelId Dan android.channelName: Pengaturan Saluran Notifikasi Android
  • android.showFullScreen: Minta Aktivitas Panggilan Lengkap Layar Penuh Android
  • ios.handleType: Pilih generic, phoneNumber, atau emailAddress untuk Kit Panggilan
const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({
callId: 'call-42',
reason: 'remote-ended',
});
await IncomingCallKit.endAllCalls({
reason: 'session-reset',
});
  • incomingCallDisplayed: Tampilan UI Asli Berhasil Ditampilkan
  • callAccepted: pengguna menerima panggilan dari antarmuka native
  • callDeclined: pengguna menolak sebelum bergabung
  • callEnded: aplikasi Anda atau platform mengakhiri panggilan yang sedang diikuti
  • callTimedOut: panggilan tetap tidak dijawab sampai timeoutMs

: setiap event membawa payload yang telah dinormalisasi dan objek asli Anda. call : catatan platform extra : Judul bagian “Catatan Platform”

: Baca

konteks
  • HTML teks fragmen dari string Capgo UI yang lebih panjang (kunci induk `read_the_style_guide`). Halaman/area: Situs web pemasaran Capgo. Peran: Kalimat teks situs web. Dilihat di: halaman contributing.astro. Kunci pesan `read_the_style_guide` (Baca Pedoman gaya). : panduan iOS : sebelum menghubungkan CallKit ke dalam aliran PushKit atau APNs.
  • Read the Buku Panduan Android sebelum mengandalkan intents layar penuh pada Android 14 dan seterusnya.
  • Web tidak didukung.

Teruskan dari Getting Started

Bagian Teruskan dari Getting Started

Jika Anda menggunakan Getting Started untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/capacitor-incoming-call-kit untuk kemampuan asli dalam Menggunakan @capgo/capacitor-incoming-call-kit, API Ringkasan untuk detail implementasi di API Pengantar Pengantar untuk detail implementasi di Pengantar API Kunci untuk detail implementasi di API Kunci, dan Perangkat untuk detail implementasi di Perangkat.