ข้ามไปยังเนื้อหา

การโทร VoIP ด้วย Cordova

Pushwoosh รองรับการแจ้งเตือนการโทรสไตล์ VoIP สำหรับ iOS และ Android โดยใช้ pushwoosh-cordova-plugin ซึ่งจะเปิดใช้งานฟังก์ชันการโทร VoIP แบบเนทีฟ รวมถึง UI การโทรเข้าและอีเวนต์ควบคุมการโทร

1. เพิ่มปลั๊กอิน Pushwoosh Cordova พร้อมเปิดใช้งาน VoIP

Anchor link to

ติดตั้งปลั๊กอินโดยเปิดใช้งานแฟล็ก VoIP:

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

การทำเช่นนี้จะกำหนดค่าปลั๊กอินให้รองรับฟังก์ชัน VoIP บน iOS

2. เพิ่ม dependency ของ PushwooshVoIP CocoaPod

Anchor link to

ตรวจสอบให้แน่ใจว่า PushwooshVoIP pod ถูกรวมไว้โดยอัตโนมัติผ่านปลั๊กอิน หากจำเป็น ให้ตรวจสอบด้วยตนเองใน Podfile ของคุณ:

pod 'PushwooshVoIP'

pod นี้จำเป็นสำหรับการรองรับการแจ้งเตือน VoIP ที่ใช้ PushKit และการจัดการการโทรในระดับระบบ

3. เปิดใช้งานโหมดเบื้องหลัง VoIP ใน Xcode

Anchor link to

เปิดโปรเจกต์ของคุณใน Xcode และทำตามขั้นตอนเหล่านี้:

  1. ไปที่ Signing & Capabilities
  2. เพิ่ม capability Background Modes
  3. เลือกตัวเลือก Voice over IP

การทำเช่นนี้จะช่วยให้แอปของคุณสามารถรับ push การโทร VoIP ขาเข้าได้ในขณะที่ทำงานในเบื้องหลัง

4. กำหนดค่ารหัสแอป VoIP (หากใช้ทั้ง VoIP และ push ปกติ)

Anchor link to

หากแอปของคุณใช้ทั้ง push แบบมาตรฐานและ VoIP คุณต้องตั้งค่ารหัสแอปพลิเคชัน VoIP อย่างชัดเจนก่อนการเริ่มต้น VoIP:

pushwoosh.setVoipAppCode("XXXXX-XXXXX");

แทนที่ "XXXXX-XXXXX" ด้วย Pushwoosh App Code ที่กำหนดให้กับแอปพลิเคชันที่เปิดใช้งาน VoIP ของคุณใน Pushwoosh Control Panel

5. ขออนุญาตการโทรบน Android

Anchor link to

บน Android คุณต้องขออนุญาตจากผู้ใช้เพื่อรับสาย ในการทำเช่นนั้น ให้เรียกใช้เมธอด requestCallPermission() ซึ่งควรทำก่อนการลงทะเบียนอุปกรณ์

pushwoosh.requestCallPermission();

6. เริ่มต้นพารามิเตอร์ VoIP

Anchor link to

เรียกใช้เมธอดต่อไปนี้เพื่อเริ่มต้นฟังก์ชัน VoIP:

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
]);
};

พารามิเตอร์

Anchor link to
  • supportsVideotrue หรือ false ขึ้นอยู่กับว่าแอปของคุณรองรับวิดีโอคอลหรือไม่
  • ringtoneSound – ชื่อไฟล์เสียงเรียกเข้าที่กำหนดเอง (เช่น "incoming.caf") หรือสตริงว่างสำหรับค่าเริ่มต้น
  • handleTypes – bitmask ตัวเลขสำหรับประเภท handle การโทร (1 สำหรับหมายเลขโทรศัพท์, 2 สำหรับอีเมล, ฯลฯ)

7. callbacks และเมธอด VoIP ที่มีให้ใช้งาน

Anchor link to

ปลั๊กอิน Cordova รองรับเมธอดและอีเวนต์ที่เกี่ยวข้องกับ VoIP ดังต่อไปนี้:

  • answer – ถูกเรียกเมื่อผู้ใช้รับสายเรียกเข้า
  • endCall – ถูกเรียกเมื่อผู้ใช้วางสายปัจจุบัน
  • hangup – ถูกเรียกเมื่อมีการวางสาย
  • reject – ถูกเรียกเมื่อสายเรียกเข้าถูกปฏิเสธ
  • muted – สลับสถานะปิดเสียง, สำหรับ iOS เท่านั้น
  • held – สลับสถานะพักสาย, สำหรับ iOS เท่านั้น
  • voipPushPayload – คืนค่า push payload สำหรับสาย VoIP ที่เข้ามา
  • incomingCallSuccess – ถูกเรียกเมื่อ UI การโทรของระบบแสดงผลสำเร็จ, สำหรับ iOS เท่านั้น
  • incomingCallFailure – ถูกเรียกเมื่อ UI การโทรของระบบแสดงผลไม่สำเร็จ, สำหรับ iOS เท่านั้น
  • speakerOn – เปิดลำโพง
  • speakerOff – ปิดลำโพง
  • playDTMF – เล่นเสียง DTMF ระหว่างการโทร, สำหรับ iOS เท่านั้น

สามารถเชื่อมต่อสิ่งเหล่านี้ได้โดยใช้อ็อบเจกต์ PushNotification ของ Cordova ซึ่งช่วยให้คุณสามารถควบคุมและตอบสนองต่อการเปลี่ยนแปลงสถานะการโทร VoIP ได้

ลิงก์ที่เกี่ยวข้อง

Anchor link to