Zum Inhalt springen

Cordova VoIP-Anrufe

Pushwoosh unterstützt VoIP-Anrufbenachrichtigungen für iOS und Android über das pushwoosh-cordova-plugin. Dies ermöglicht native VoIP-Anruffunktionen, einschließlich der Benutzeroberfläche für eingehende Anrufe und Ereignisse zur Anrufsteuerung.

Integrieren Sie das Plugin vorab mit Ihrem Pushwoosh Application Code, wie im Leitfaden zur grundlegenden Integration beschrieben.

1. Fügen Sie das Pushwoosh Cordova-Plugin mit aktivierter VoIP-Funktion hinzu

Anchor link to

Installieren Sie das Plugin mit aktiviertem VoIP-Flag:

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

Dadurch wird das Plugin so konfiguriert, dass es die VoIP-Funktionalität unter iOS unterstützt.

2. Prüfen Sie die PushwooshVoIP-Abhängigkeit

Anchor link to

Das Plugin bindet das Modul PushwooshVoIP automatisch ein. Unter cordova-ios 8 fügt es das Swift-Paket PushwooshVoIP hinzu und ändert die Podfile nicht. Unter früheren cordova-ios-Versionen fügt es Ihrer Podfile diese Zeile hinzu:

pod 'PushwooshXCFramework/PushwooshVoIP'

Dieses Modul ist erforderlich, um PushKit-basierte VoIP-Benachrichtigungen und die Anrufverarbeitung auf Systemebene zu unterstützen.

3. Aktivieren Sie den VoIP-Hintergrundmodus in Xcode

Anchor link to

Öffnen Sie Ihr Projekt in Xcode und folgen Sie diesen Schritten:

  1. Gehen Sie zu Signing & Capabilities.
  2. Fügen Sie die Background Modes-Fähigkeit hinzu.
  3. Aktivieren Sie die Option Voice over IP.

Dies ermöglicht Ihrer App, eingehende VoIP-Pushes zu empfangen, während sie sich im Hintergrund befindet.

4. Anrufberechtigung auf Android anfordern

Anchor link to

Unter Android benötigt die App die Berechtigung des Benutzers, um Anrufe zu empfangen. Fordern Sie sie mit requestCallPermission() an. Lehnt der Benutzer ab, ignoriert die App eingehende VoIP-Anrufe.

pushwoosh.requestCallPermission();

5. Benutzerdefinierten Klingelton festlegen (optional)

Anchor link to

Das Plugin initialisiert VoIP automatisch. Um für eingehende Anrufe einen benutzerdefinierten Klingelton abzuspielen, übergeben Sie den Namen einer Sounddatei aus dem App-Bundle:

pushwoosh.setRingtone("incoming.caf");

6. Verfügbare VoIP-Callbacks und -Methoden

Anchor link to

Videounterstützung und das Format der Anrufer-ID werden pro Anruf im Payload des VoIP-Pushes festgelegt: video und unter iOS handleType (1 für generisch, 2 für Telefonnummer, 3 für E-Mail).

Das Cordova-Plugin unterstützt die folgenden VoIP-bezogenen Methoden und Ereignisse:

  • answer – wird aufgerufen, wenn ein Benutzer einen eingehenden Anruf annimmt
  • endCall – wird aufgerufen, wenn ein Benutzer den aktuellen Anruf beendet
  • hangup – wird aufgerufen, wenn ein Anruf aufgelegt wird
  • reject – wird aufgerufen, wenn ein eingehender Anruf abgewiesen wird
  • muted – Stummschaltung umschalten, nur für iOS
  • held – Haltestatus umschalten, nur für iOS
  • voipPushPayload – gibt die Push-Payload für den eingehenden VoIP-Anruf zurück
  • incomingCallSuccess – wird aufgerufen, wenn die Systemanruf-Benutzeroberfläche erfolgreich angezeigt wird, nur für iOS
  • incomingCallFailure – wird aufgerufen, wenn die Anzeige der Systemanruf-Benutzeroberfläche fehlschlägt, nur für iOS
  • speakerOn – Lautsprecher einschalten
  • speakerOff – Lautsprecher ausschalten
  • playDTMF – DTMF-Ton während eines Anrufs abspielen, nur für iOS
  • voipDidRegisterTokenSuccessfully – wird aufgerufen, wenn das VoIP-Token bei Pushwoosh registriert wurde, nur für iOS
  • voipDidFailToRegisterTokenWithError – wird aufgerufen, wenn die Registrierung des VoIP-Tokens fehlschlägt, nur für iOS
  • voipDidCancelCall – wird aufgerufen, wenn ein Anruf per VoIP-Push aus der Ferne abgebrochen wird
  • voipDidFailToCancelCall – wird aufgerufen, wenn ein Versuch, einen Anruf abzubrechen, fehlschlägt

Diese können über das PushNotification-Objekt von Cordova eingehängt werden, sodass Sie den Status von VoIP-Anrufen steuern und darauf reagieren können.

Unter Android können Sie diese Ereignisse auch in Ihrer eigenen nativen Java-Klasse verarbeiten, zum Beispiel um Ihren eigenen Anrufbildschirm zu öffnen, wenn der Benutzer den Anruf annimmt. Siehe Benutzerdefinierter Handler für Anrufereignisse auf Android.

Anchor link to