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.

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. Fügen Sie die PushwooshVoIP CocoaPod-Abhängigkeit hinzu

Anchor link to

Stellen Sie sicher, dass der PushwooshVoIP-Pod automatisch über das Plugin eingebunden wird. Überprüfen Sie dies bei Bedarf manuell in Ihrer Podfile:

pod 'PushwooshVoIP'

Dieser Pod ist erforderlich, um PushKit-basierte VoIP-Benachrichtigungen und die Anrufbehandlung 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. Konfigurieren Sie den VoIP-App-Code (wenn Sie sowohl VoIP- als auch reguläre Pushes verwenden)

Anchor link to

Wenn Ihre App sowohl Standard- als auch VoIP-Pushes verwendet, müssen Sie den VoIP-Anwendungscode explizit vor der VoIP-Initialisierung festlegen:

pushwoosh.setVoipAppCode("XXXXX-XXXXX");

Ersetzen Sie "XXXXX-XXXXX" durch den Pushwoosh App Code, der Ihrer VoIP-fähigen Anwendung im Pushwoosh Control Panel zugewiesen ist.

5. Anrufberechtigung auf Android anfordern

Anchor link to

Unter Android müssen Sie die Berechtigung anfordern, Anrufe von einem Benutzer zu empfangen. Rufen Sie dazu die requestCallPermission()-Methode auf. Dies sollte vor der Registrierung eines Geräts erfolgen.

pushwoosh.requestCallPermission();

6. VoIP-Parameter initialisieren

Anchor link to

Rufen Sie die folgende Methode auf, um die VoIP-Funktionalität zu initialisieren:

PushNotification.prototype.initializeVoIPParameters = function(supportsVideo, ringtoneSound, handleTypes, success, error) {
if (typeof handleTypes === "function") {
error = ringtoneSound;
success = supportsVideo;
handleTypes = undefined;
ringtoneSound = undefined;
supportsVideo = undefined;
}
exec(success, error, "PushNotification", "initializeVoIPParameters", [
!!supportsVideo,
ringtoneSound || "",
handleTypes != null ? Number(handleTypes) : 1
]);
};
  • supportsVideotrue oder false, je nachdem, ob Ihre App Videoanrufe unterstützt
  • ringtoneSound – Name der benutzerdefinierten Klingeltondatei (z. B. "incoming.caf") oder eine leere Zeichenfolge für den Standard
  • handleTypes – numerische Bitmaske für Anruf-Handle-Typen (1 für Telefonnummer, 2 für E-Mail usw.)

7. Verfügbare VoIP-Callbacks und -Methoden

Anchor link to

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

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.

Anchor link to