انتقل إلى المحتوى

مكالمات VoIP في Cordova

يدعم Pushwoosh إشعارات المكالمات بأسلوب VoIP لنظامي iOS و Android باستخدام pushwoosh-cordova-plugin. يتيح هذا وظيفة مكالمات VoIP الأصلية، بما في ذلك واجهة المستخدم للمكالمات الواردة وأحداث التحكم في المكالمات.

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. أضف تبعية PushwooshVoIP CocoaPod

Anchor link to

تأكد من تضمين PushwooshVoIP pod تلقائيًا عبر الإضافة. إذا لزم الأمر، تحقق يدويًا في ملف Podfile الخاص بك:

pod 'PushwooshVoIP'

هذا الـ pod مطلوب لدعم إشعارات VoIP المستندة إلى PushKit ومعالجة المكالمات على مستوى النظام.

3. تمكين وضع VoIP في الخلفية في Xcode

Anchor link to

افتح مشروعك في Xcode واتبع هذه الخطوات:

  1. اذهب إلى Signing & Capabilities.
  2. أضف قدرة Background Modes.
  3. حدد خيار Voice over IP.

يسمح هذا لتطبيقك باستقبال إشعارات VoIP الواردة أثناء وجوده في الخلفية.

4. تكوين رمز تطبيق VoIP (إذا كنت تستخدم كلاً من إشعارات VoIP والإشعارات العادية)

Anchor link to

إذا كان تطبيقك يستخدم كلاً من إشعارات الدفع القياسية و VoIP، فيجب عليك تعيين رمز تطبيق VoIP بشكل صريح قبل تهيئة VoIP:

pushwoosh.setVoipAppCode("XXXXX-XXXXX");

استبدل "XXXXX-XXXXX" برمز تطبيق Pushwoosh (App Code) المخصص لتطبيقك الذي يدعم VoIP في لوحة تحكم Pushwoosh.

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 – قناع بت رقمي لأنواع معالجة المكالمات (1 لرقم الهاتف، 2 للبريد الإلكتروني، إلخ.)

7. ردود الاتصال (callbacks) والطرق المتاحة لـ VoIP

Anchor link to

تدعم إضافة Cordova الطرق والأحداث التالية المتعلقة بـ VoIP:

  • answer – يتم استدعاؤها عندما يجيب المستخدم على مكالمة واردة
  • endCall – يتم استدعاؤها عندما ينهي المستخدم المكالمة الحالية
  • hangup – يتم استدعاؤها عند إنهاء المكالمة
  • reject – يتم استدعاؤها عند رفض مكالمة واردة
  • muted – تبديل حالة كتم الصوت، لنظام iOS فقط
  • held – تبديل حالة الانتظار، لنظام iOS فقط
  • voipPushPayload – تُرجع حمولة الإشعار (push payload) للمكالمة VoIP الواردة
  • incomingCallSuccess – يتم استدعاؤها عند عرض واجهة مستخدم مكالمة النظام بنجاح، لنظام iOS فقط
  • incomingCallFailure – يتم استدعاؤها عند فشل عرض واجهة مستخدم مكالمة النظام، لنظام iOS فقط
  • speakerOn – تشغيل مكبر الصوت
  • speakerOff – إيقاف تشغيل مكبر الصوت
  • playDTMF – تشغيل نغمة DTMF أثناء المكالمة، لنظام iOS فقط

يمكن ربط هذه الطرق باستخدام كائن PushNotification الخاص بـ Cordova، مما يسمح لك بالتحكم في تغييرات حالة مكالمة VoIP والاستجابة لها.

روابط ذات صلة

Anchor link to