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 toInstallez le plugin avec l’indicateur VoIP activé :
cordova plugin add pushwoosh-cordova-plugin --variable PW_VOIP_IOS_ENABLED=true --variable PW_VOIP_ANDROID_ENABLED=trueCela configurera le plugin pour prendre en charge la fonctionnalité VoIP sur iOS.
2. Vérifier la dépendance PushwooshVoIP
Anchor link toLe 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 toOuvrez votre projet dans Xcode et suivez ces étapes :
- Allez dans Signing & Capabilities (Signature et capacités).
- Ajoutez la capacité Background Modes (Modes d’arrière-plan).
- 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 toSur 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 toLe 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 toLa 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 entrantendCall– appelé lorsqu’un utilisateur termine l’appel en courshangup– appelé lorsqu’un appel est raccrochéreject– appelé lorsqu’un appel entrant est rejetémuted– basculer l’état muet, iOS uniquementheld– basculer l’état en attente, iOS uniquementvoipPushPayload– renvoie la charge utile de la notification push pour l’appel VoIP entrantincomingCallSuccess– appelé lorsque l’interface d’appel système s’affiche avec succès, iOS uniquementincomingCallFailure– appelé lorsque l’interface d’appel système ne parvient pas à s’afficher, iOS uniquementspeakerOn– activer le haut-parleurspeakerOff– désactiver le haut-parleurplayDTMF– jouer une tonalité DTMF pendant un appel, iOS uniquementvoipDidRegisterTokenSuccessfully– appelé lorsque le jeton VoIP est enregistré auprès de Pushwoosh, iOS uniquementvoipDidFailToRegisterTokenWithError– appelé lorsque l’enregistrement du jeton VoIP échoue, iOS uniquementvoipDidCancelCall– appelé lorsqu’un appel est annulé à distance via un push VoIPvoipDidFailToCancelCall– 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.