Passer à la navigation

iOS

GitHub

Comment fonctionne le comportement iOS

Comment fonctionne le comportement d'iOS

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

requestPermissions() La résolution se produit immédiatement sur iOS car CallKit n'exige pas de dialogue de demande de permission runtime.

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 l'icône :

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

Ce plugin ne s'inscrit pas pour vous auprès de PushKit ou d'APNs.

Pour un sonnerage en arrière-plan ou en état de terminaison sur iOS, votre application hôte nécessite toujours la mise en place de push natif Apple correspondant à votre stratégie de transport :

  1. Activez les notifications Push lorsque votre transport utilise la livraison Apple push.
  2. Activez 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 ce plugin 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. Si la session d'appel réelle utilise l'accès au microphone ou à la caméra, les descriptions d'utilisation restent dans votre application :

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

Gardez ces responsabilités dans votre couche d'application

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 callAccepted
  • Éteindre ou réconcilier l'état d'appel distant lorsque le plugin émet callDeclined, callEnded, ou callTimedOut

Si vous utilisez iOS pour planifier le travail de plugin natif, connectez-l’à En utilisant @capgo/capacitor-incoming-call-kit pour la capacité native dans En utilisant @capgo/capacitor-incoming-call-kit Répertoire du plugin Capgo pour le flux de travail du produit dans Répertoire du plugin Capgo Plugins Capacitor par Capgo pour les détails d'implémentation dans Capacitor Plugins par Capgo Ajouter ou mettre à jour les plugins pour les détails d'implémentation dans Ajouter ou mettre à jour les plugins, et Alternatives de plugins Ionic Enterprise pour le flux de travail du produit dans Ionic Enterprise Plugin Alternatives.