सामग्री पर जाएं

VoIP पुश

iOS 8 में Apple ने PushKit और VoIP पुश - एक नए प्रकार का पुश नोटिफिकेशन पेश किया। मानक पुश कार्यक्षमता के शीर्ष पर, एक VoIP पुश ऐप को उपयोगकर्ता को नोटिफिकेशन प्रदर्शित करने से पहले कोड निष्पादित करने की अनुमति देता है।

1. अपने प्रोजेक्ट में PushwooshVoIP मॉड्यूल जोड़ें।

स्विफ्ट पैकेज मैनेजर

कोकोपोड्स

Terminal window
# अपने प्रोजेक्ट के लिए एक वैश्विक प्लेटफ़ॉर्म परिभाषित करने के लिए अगली पंक्ति को अनकम्मेंट करें
# platform :ios, '9.0'
target 'MyApp' do
# यदि आप डायनेमिक फ्रेमवर्क का उपयोग नहीं करना चाहते हैं तो अगली पंक्ति को कमेंट करें
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshFramework/PushwooshVoIP'
end

2. Signing & Capabilities टैब में, Voice over IP क्षमता को चेकबॉक्स को चेक करके जोड़ें, जैसा कि नीचे दिए गए स्क्रीनशॉट में दिखाया गया है:

3. PushwooshVoIP मॉड्यूल को इनिशियलाइज़ करें जैसा कि नीचे दिए गए कोड में दिखाया गया है।

import UIKit
import PushwooshFramework
import PushwooshVoIP
import CallKit
import PushKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate, PWVoIPCallDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
/// Pushwoosh VoIP मॉड्यूल को इनिशियलाइज़ करता है।
///
/// - पैरामीटर्स:
/// - supportVideo: एक बूलियन मान जो यह दर्शाता है कि वीडियो कॉल समर्थित हैं या नहीं।
/// - ringtoneSound: आने वाली कॉलों के लिए उपयोग की जाने वाली कस्टम रिंगटोन साउंड फ़ाइल का नाम (जैसे `"mySound.caf"`)।
/// - handleTypes: समर्थन करने के लिए कॉल हैंडल का प्रकार। संभावित मान:
/// - `1` – जेनेरिक
/// - `2` – फ़ोन नंबर
/// - `3` – ईमेल पता
Pushwoosh.VoIP.initializeVoIP(true, ringtoneSound: "mySound.caf", handleTypes: 1)
// VoIP कॉल इवेंट प्राप्त करने के लिए डेलीगेट सेट करें
Pushwoosh.VoIP.delegate = self
return true
}
// MARK: - आवश्यक PWVoIPCallDelegate कॉलबैक
func voipDidReceiveIncomingCall(payload: PushwooshVoIP.PWVoIPMessage) {
// आने वाले VoIP पुश को हैंडल करें
}
func pwProviderDidReset(_ provider: CXProvider) {
// प्रोवाइडर रीसेट को हैंडल करें
}
func pwProviderDidBegin(_ provider: CXProvider) {
// प्रोवाइडर एक्टिवेशन को हैंडल करें
}
}

4. PWVoIPCallDelegate प्रोटोकॉल VoIP कॉल जीवनचक्र और CallKit इंटरैक्शन को संभालने के लिए आवश्यक और वैकल्पिक कॉलबैक को परिभाषित करता है।

@objc public protocol PWVoIPCallDelegate: NSObjectProtocol {
/// जब कोई इनकमिंग VoIP पुश प्राप्त होता है तो कॉल किया जाता है।
@objc func voipDidReceiveIncomingCall(payload: PushwooshVoIP.PWVoIPMessage)
/// वैकल्पिक: जब इनकमिंग कॉल को सफलतापूर्वक CallKit को रिपोर्ट किया जाता है तो कॉल किया जाता है।
@objc optional func voipDidReportIncomingCallSuccessfully(voipMessage: PushwooshVoIP.PWVoIPMessage)
/// वैकल्पिक: जब इनकमिंग कॉल को CallKit को रिपोर्ट करने में विफल रहता है तो कॉल किया जाता है।
@objc optional func voipDidFailToReportIncomingCall(error: Error)
/// वैकल्पिक: जब कोई नया आउटगोइंग कॉल शुरू होता है तो कॉल किया जाता है।
@objc optional func startCall(_ provider: CXProvider, perform action: CXStartCallAction)
/// वैकल्पिक: जब कोई सक्रिय कॉल समाप्त होता है तो कॉल किया जाता है।
@objc optional func endCall(_ provider: CXProvider, perform action: CXEndCallAction, voipMessage: PushwooshVoIP.PWVoIPMessage?)
/// वैकल्पिक: जब किसी इनकमिंग कॉल का उत्तर दिया जाता है तो कॉल किया जाता है।
@objc optional func answerCall(_ provider: CXProvider, perform action: CXAnswerCallAction, voipMessage: PushwooshVoIP.PWVoIPMessage?)
/// वैकल्पिक: जब कॉल को म्यूट या अनम्यूट किया जाता है तो कॉल किया जाता है।
@objc optional func mutedCall(_ provider: CXProvider, perform action: CXSetMutedCallAction)
/// वैकल्पिक: जब कॉल को होल्ड या अनहोल्ड किया जाता है तो कॉल किया जाता है।
@objc optional func heldCall(_ provider: CXProvider, perform action: CXSetHeldCallAction)
/// वैकल्पिक: जब एक DTMF टोन बजाया जाता है तो कॉल किया जाता है।
@objc optional func playDTMF(_ provider: CXProvider, perform action: CXPlayDTMFCallAction)
/// जब CallKit प्रोवाइडर रीसेट होता है तो कॉल किया जाता है।
@objc func pwProviderDidReset(_ provider: CXProvider)
/// जब CallKit प्रोवाइडर शुरू होता है तो कॉल किया जाता है।
@objc func pwProviderDidBegin(_ provider: CXProvider)
/// वैकल्पिक: CallKit कॉल कंट्रोलर इंस्टेंस प्रदान करता है।
@objc optional func returnedCallController(_ controller: CXCallController)
/// वैकल्पिक: CallKit प्रोवाइडर इंस्टेंस प्रदान करता है।
@objc optional func returnedProvider(_ provider: CXProvider)
/// वैकल्पिक: जब ऑडियो सत्र सक्रिय होता है तो कॉल किया जाता है।
@objc optional func activatedAudioSession(_ provider: CXProvider, didActivate audioSession: AVAudioSession)
/// वैकल्पिक: जब ऑडियो सत्र निष्क्रिय होता है तो कॉल किया जाता है।
@objc optional func deactivatedAudioSession(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession)
}

5. अपने VoIP प्रमाणपत्र को Pushwoosh कंट्रोल पैनल पर कॉन्फ़िगरेशन गाइड के अनुसार अपलोड करें, और प्रोडक्शन गेटवे चुनें।

बस इतना ही!

अपनी प्रतिक्रिया हमारे साथ साझा करें

Anchor link to

आपकी प्रतिक्रिया हमें एक बेहतर अनुभव बनाने में मदद करती है, इसलिए यदि आपको SDK एकीकरण प्रक्रिया के दौरान कोई समस्या आती है तो हम आपसे सुनना पसंद करेंगे। यदि आपको कोई कठिनाई आती है, तो कृपया इस फॉर्म के माध्यम से अपने विचार हमारे साथ साझा करने में संकोच न करें।