Aller directement au contenu

iOS

GitHub

Sur iOS, le plugin signale l'appel entrant à CallKit. Cela vous donne la feuille de rappel d'appel système et les actions d'appel standardisées sans que vous deviez construire votre propre interface d'appel entrant native.

requestPermissions() se résout immédiatement sur iOS car CallKit lui-même ne nécessite pas de dialogue de demande de permission en temps de exécution.

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

Utilisez ios.handleType pour contrôler la façon dont CallKit formate le handle :

  • generic pour des identifiants spécifiques à l'application
  • phoneNumber pour les numéros de téléphone réels
  • emailAddress pour les identités basées sur l'e-mail

Cette extension ne s'inscrit pas PushKit ou APNs pour vous.

Pour un véritable sonnerie en arrière-plan ou dans un état arrêté sur iOS, votre application hôte nécessite toujours la mise en place native d'Apple push qui correspond à votre stratégie de transport :

  1. Activer les notifications Push lorsque votre transport utilise la livraison de push Apple.
  2. Activer le mode de fond VoIP lorsque votre application utilise un flux de push VoIP.
  3. Fournir l'événement d'appel entrant à votre application et invoquez cette extension dès que le pont Capacitor est disponible.

Si votre événement de sonnerie n'existe que dans JavaScript, vous obtiendrez la meilleure expérience alors que l'application est déjà en cours d'exécution en arrière-plan.

CallKit ne remplace pas votre média SDK.

<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>

Ajoutez uniquement les clés dont votre flux d'appel réel a besoin.

Section intitulée « Gardez ces responsabilités dans votre couche d'application »

Enregistrement PushKit et APNs
  • Authentification et rafraîchissement de jeton
  • Rejoindre la vraie salle ou la session VoIP après
  • Terminer ou réconcilier l'état d'appel distant lorsque le plugin émet callAccepted
  • , ou callDeclined, callEndedContinuez de l'iOS callTimedOut

Section intitulée « Continuez de l'iOS »

Copy to clipboard

If vous utilisez IOS pour planifier le travail de plugin natif, connectez-l’à En utilisant @capgo/capacitor-kit d'appel entrant pour la capacité native dans En utilisant @capgo/capacitor-kit d'appel entrant, Répertoire de plugins Capgo pour le flux de travail du produit dans Répertoire de plugins Capgo, Plugins Capacitor par Capgo pour le détail d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou Mettre à jour les plugins pour le détail d'implémentation dans Ajouter ou Mettre à jour les plugins, et Alternatives de plugins d'entreprise Ionic pour le flux de travail du produit dans les alternatives Ionic Enterprise Plugin.