Passer au contenu

Appels VoIP Cordova

Pushwoosh prend en charge les notifications d’appel de type VoIP pour iOS et Android à l’aide du pushwoosh-cordova-plugin. Cela active la fonctionnalité d’appel VoIP native, y compris l’interface utilisateur d’appel entrant et les événements de contrôle d’appel.

Avant de commencer, intégrez le plugin avec l’Application Code Pushwoosh comme décrit dans le guide d’intégration de base.

1. Ajouter le plugin Cordova de Pushwoosh avec la VoIP activée

Anchor link to

Installez le plugin avec l’indicateur VoIP activé :

Terminal window
cordova plugin add pushwoosh-cordova-plugin --variable PW_VOIP_IOS_ENABLED=true --variable PW_VOIP_ANDROID_ENABLED=true

Cela configurera le plugin pour prendre en charge la fonctionnalité VoIP sur iOS.

2. Vérifier la dépendance PushwooshVoIP

Anchor link to

Le plugin lie automatiquement le module PushwooshVoIP. Avec cordova-ios 8, il ajoute le package Swift PushwooshVoIP et ne modifie pas le Podfile. Avec les versions antérieures de cordova-ios, il ajoute cette ligne à votre Podfile :

pod 'PushwooshXCFramework/PushwooshVoIP'

Ce module est requis pour prendre en charge les notifications VoIP basées sur PushKit et la gestion des appels au niveau du système.

3. Activer le mode arrière-plan VoIP dans Xcode

Anchor link to

Ouvrez votre projet dans Xcode et suivez ces étapes :

  1. Allez dans Signing & Capabilities (Signature et capacités).
  2. Ajoutez la capacité Background Modes (Modes d’arrière-plan).
  3. Cochez l’option Voice over IP (Voix sur IP).

Cela permet à votre application de recevoir des notifications push VoIP entrantes lorsqu’elle est en arrière-plan.

4. Demander l’autorisation d’appel sur Android

Anchor link to

Sur Android, l’application a besoin de l’autorisation de l’utilisateur pour recevoir des appels. Demandez-la avec requestCallPermission(). Si l’utilisateur la refuse, l’application ignore les appels VoIP entrants.

pushwoosh.requestCallPermission();

5. Définir une sonnerie personnalisée (facultatif)

Anchor link to

Le plugin initialise VoIP automatiquement. Pour jouer une sonnerie personnalisée lors des appels entrants, transmettez le nom d’un fichier audio du bundle de l’application :

pushwoosh.setRingtone("incoming.caf");

6. Rappels et méthodes VoIP disponibles

Anchor link to

La prise en charge de la vidéo et le format de l’identifiant de l’appelant sont définis pour chaque appel dans le payload du push VoIP : video et, sur iOS, handleType (1 pour générique, 2 pour numéro de téléphone, 3 pour e-mail).

Le plugin Cordova prend en charge les méthodes et événements suivants liés à la VoIP :

  • answer – appelé lorsqu’un utilisateur répond à un appel entrant
  • endCall – appelé lorsqu’un utilisateur termine l’appel en cours
  • hangup – appelé lorsqu’un appel est raccroché
  • reject – appelé lorsqu’un appel entrant est rejeté
  • muted – basculer l’état muet, iOS uniquement
  • held – basculer l’état en attente, iOS uniquement
  • voipPushPayload – renvoie la charge utile de la notification push pour l’appel VoIP entrant
  • incomingCallSuccess – appelé lorsque l’interface d’appel système s’affiche avec succès, iOS uniquement
  • incomingCallFailure – appelé lorsque l’interface d’appel système ne parvient pas à s’afficher, iOS uniquement
  • speakerOn – activer le haut-parleur
  • speakerOff – désactiver le haut-parleur
  • playDTMF – jouer une tonalité DTMF pendant un appel, iOS uniquement
  • voipDidRegisterTokenSuccessfully – appelé lorsque le jeton VoIP est enregistré auprès de Pushwoosh, iOS uniquement
  • voipDidFailToRegisterTokenWithError – appelé lorsque l’enregistrement du jeton VoIP échoue, iOS uniquement
  • voipDidCancelCall – appelé lorsqu’un appel est annulé à distance via un push VoIP
  • voipDidFailToCancelCall – appelé lorsqu’une tentative d’annulation d’appel échoue

Ceux-ci peuvent être accrochés à l’aide de l’objet PushNotification de Cordova, vous permettant de contrôler et de répondre aux changements d’état des appels VoIP.

Sur Android, vous pouvez également traiter ces événements dans votre propre classe Java native, par exemple pour ouvrir votre propre écran d’appel lorsque l’utilisateur répond. Consultez Gestionnaire personnalisé d’événements d’appel sur Android.

Liens connexes

Anchor link to