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

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

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

ก่อนเริ่มต้น ให้ผสานรวมปลั๊กอินกับ Application Code ของ Pushwoosh ตามที่อธิบายไว้ในคู่มือการผสานรวมขั้นพื้นฐาน

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

Anchor link to

ปลั๊กอินจะลิงก์โมดูล PushwooshVoIP โดยอัตโนมัติ บน cordova-ios 8 ปลั๊กอินจะเพิ่ม Swift package PushwooshVoIP และไม่เปลี่ยนแปลง Podfile บน cordova-ios เวอร์ชันก่อนหน้า ปลั๊กอินจะเพิ่มบรรทัดนี้ลงใน Podfile ของคุณ:

pod 'PushwooshXCFramework/PushwooshVoIP'

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

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

Anchor link to

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

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

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

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

Anchor link to

บน Android แอปต้องได้รับอนุญาตจากผู้ใช้เพื่อรับสาย ขออนุญาตด้วย requestCallPermission() หากผู้ใช้ปฏิเสธ แอปจะเพิกเฉยต่อสาย VoIP ที่เข้ามา

pushwoosh.requestCallPermission();

5. ตั้งค่าเสียงเรียกเข้าแบบกำหนดเอง (ไม่บังคับ)

Anchor link to

ปลั๊กอินจะเริ่มต้น VoIP โดยอัตโนมัติ หากต้องการเล่นเสียงเรียกเข้าแบบกำหนดเองสำหรับสายเรียกเข้า ให้ส่งชื่อไฟล์เสียงจาก app bundle:

pushwoosh.setRingtone("incoming.caf");

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

Anchor link to

การรองรับวิดีโอและรูปแบบหมายเลขผู้โทรจะกำหนดต่อการโทรแต่ละครั้งใน payload ของพุช VoIP: video และบน iOS คือ handleType (1 สำหรับทั่วไป, 2 สำหรับหมายเลขโทรศัพท์, 3 สำหรับอีเมล)

ปลั๊กอิน 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 เท่านั้น
  • voipDidRegisterTokenSuccessfully – เรียกใช้เมื่อโทเค็น VoIP ลงทะเบียนกับ Pushwoosh สำเร็จ, สำหรับ iOS เท่านั้น
  • voipDidFailToRegisterTokenWithError – เรียกใช้เมื่อการลงทะเบียนโทเค็น VoIP ล้มเหลว, สำหรับ iOS เท่านั้น
  • voipDidCancelCall – เรียกใช้เมื่อสายถูกยกเลิกจากระยะไกลผ่านพุช VoIP
  • voipDidFailToCancelCall – เรียกใช้เมื่อการพยายามยกเลิกสายล้มเหลว

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

บน Android คุณยังสามารถจัดการอีเวนต์เหล่านี้ในคลาส Java แบบเนทีฟของคุณเองได้ เช่น เพื่อเปิดหน้าจอการโทรของคุณเองเมื่อผู้ใช้รับสาย ดู ตัวจัดการอีเวนต์การโทรแบบกำหนดเองบน Android

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

Anchor link to