Published the Jul 14, 2020
ZIWO SDK or Software Development Kit contains tools & codes that enable developers to build software applications for any platform.
If you have been into software development, you must already be familiar with the term SDK or Software Development Kit. It is the one thing you cannot forgo while attempting to develop software. But for those who might still be alien to SDK, today we will be spending the next few minutes to discuss SDK, to be specific, ZIWO SDK for iOS.
SDK is the acronym for ‘Software Development Kit’ and refers to a kit that comprises a set of tools, sample codes, archives, processes, and sometimes even guidelines that enable developers to build software applications for any platform, be it for android or iOS. With “Software Development Kit”, developers can create systems and develop applications, while APIs (Application Programming Interface) on the other hand, is tailor-made for a specific use – to enable communication between applications.
(Learn more about APIs at https://www.ziwo.io/why-is-api-key-to-your-business/)
ZIWO team has developed the ZIWO SDK class, a singleton that is used to recuperate data related to ZIWO when the Agent is logged in.
It offers an easy way to integrate ZIWO calls into the iOS application. besides, it is coded in Swift 5 – an industrial-quality programming language, developed using a modern approach to performance, security, and software design patterns. Swift 5 is a fast, secure, and interactive programming language that is extremely popular among iOS developers and the open-source developers’ community.
ZIWO developers team has integrated this highly expressive and interactive SDK with WebSockets, Verto protocol, and WebRTC. Not to mention, WebSocket is an advanced computer communications protocol that offers full-duplex communication channels over a single TCP connection and enables the initiation of a two-way interactive communication session between the user’s browser and server.
On the other hand, Verto is a JSON-based protocol that along with WebSocket allows a web browser (JSON + WebSockets result in a bidirectional capability of instantaneous information exchange) to initiate a call. WebRTC is used for state-of-art real-time communication in browsers and mobile apps.
Below is an instance of Verto WebSocket to communicate with Verto protocol.
public var vertoWebSocket: VertoWebSocket?”
and an example of RTC answer message
extension RTCAnswerMessage: RTCMessageBuilderProtocol
extension RTCAnswerMessage: RTCMessageParserProtocol
Type used to handle RTC Candidates received by GoogleRTC external library.
ZiwoClient is the main class of the “Software Development Kit”. Through this class, the WebSocket that will be used to communicate with Verto is initialized. The delegates will tell the developer when a call is received, when a call starts and when a call is terminated. It also provides information about WebSocket that is linked to the Verto protocol.
You can use CocoaPods to add the SDK to your app. CocoaPods is built with Ruby and is installable with the default Ruby available on macOS or iOS.
In order to set up the Ziwo SDK and the Verto protocol, follow the steps below:
1. Set the domain : ZIWO SDK.shared.domain = “test-domain.aswat.co”
2. Once the agent logs in to Ziwo (.POST /auth/login), set the access token returned by the request.
ZIWO SDK.shared.accessToken = accessToken
3. Notify Ziwo that the agent is connected and available (.POST /agents/autoLogin).Whenever you get the agent data (.GET /profile), set the logged agent.ZIWO SDK.shared.setAgent(agent: agent)
4. Finally, initialize the Ziwo Client.
self.ziwoClient.initializeClient() self.ziwoClient.delegate = self
ZIWO SDK is released under the GNU GPVL3 license.
This SDK is a major shift for iOS users to start using ZIWO calls through their iOS apps.
Learn More About ZIWO Here
Interviews, tips, guides, industry best practices, and news.
The Power of WhatsApp Business with ZIWO Conversations
ZIWO Conversations is recognized as the premier WhatsApp Business Companion, elevating both customer experiences and team collaboration to a higher standard.Read post
Pause and Resume Call Recording – Benefits & Industries
agents can manually pause and resume call recordings, Once an administrator has enabled the feature, agents will see a button on the dialpadRead post
Outbound IVR (Interactive Voice Response) – Definition, Components, Benefits & Practices
Outbound IVR feature is a contact center tool that is used to proactively distribute communications to customers with a predefined IVR menu.Read post
How to Become a Customer-Centric Organization
Ways to Build a customer-centric culture in your company, customer-centricity needs to be part of your philosophy, values, and mission daily.Read post
Multilingual Contact Centers: Bridging Language Gaps
Discover how multilingual contact centers overcome language barriers to deliver outstanding assistance, thereby elevating customer experienceRead post
Listening to Customers with End-Call Surveys
Listening to Customers with End-Call Surveys refers to the process of collecting customer feedback about a business, its products, & servicesRead post