[Under Development] Acquire Delegates for iOS
Our SDK is currently under review. Check back later for updates.

AcquireIOSupport iOS SDK Delegates

To add listeners provided by AcquireIOSupport SDK, add the following line on your class where you want to listen to our SDK events
AcquireIO.support.delegate = self

ConnectionStatusChange

This method will be called by SDK when connection status will change. The details of status that was updated during the connection will be available in the argument.
func didChangeConnectionStatus(status: AcquireIOConnectionStatus)
AcquireIOConnectionStatus - Connection session status
public enum AcquireIOConnectionStatus : Int {
/// App support session connection status not connected.
case notConnected = 0
/// App support session connection status disconnected.
case disconnected
/// App support session connection status connecting.
case connecting
/// App support session connection status connected.
case connected
/// App support session connection status started.
case sessionStarted
}
Once connection is established with Acquire server, the delegate will receive either didChangeConnectionStatus: or onError:.

onError

This function will provide connection related error i.e. invalid input data, expire data etc. To get more details about the error encountered while establishing connection, Implement below delegate method
func onError(error: Error)

onCallSupportStatusChange

When status of Audio/Video call with Agent changes SDK will call below method. The details of call status that was updated during the connection will be available in the arguments along with the optional message string. To get the call connection status, use
func onCallSupportStatusChange(_ status: AcquireIOCallSupportStatus, withMessage message: String?)
AcquireIOCallSupportStatus - Call status
public enum AcquireIOCallSupportStatus : Int {
case notConnected
case disconnected
case connecting
case connected
}

onAgentConnected

This will be called when agent is connected.
func onAgentConnected()

didChangeAgentStatus

This optional method will be called by SDK when Agent status changes. The details of agent status that was updated during the connection will be available in the argument along with Agent ID.
func didChangeAgentStatus(agentID: String, andStatus status: AcquireIOAgentStatus)
AcquireIOAgentStatus - Status for the agent.
public enum AcquireIOAgentStatus : Int {
/// Online status for agent.
case online = 0
/// Offline status for agent.
case offline
/// Invisible status for agent.
case invisible
}

didUserInteracted

This will be called when user interacts with events.
func didUserInteracted(withEvent type: AcquireIOInteractionEventType, withData data: [String : Any]?)
Event Types available are listed below:
public enum AcquireIOInteractionEventType : Int {
case audioCallStarted = 0
case videoCallStarted
case audioCallAnswered
case videoCallAnswered
case callDeclined
case callAutoDeclined
case callerViewMinimize
case callerViewMaximize
case callerViewCameraSwitchToFront
case callerViewCameraSwitchToBack
case callSpeakerOn //10
case callSpeakerOff
case callMute
case callUnmute
case callVideoOn
case callVideoOff
case callDisconnected
case conversationStart
case conversationEnd
case conversationFeedbackSubmit
}
Note: For Lite version, only following events will be received
  1. 1.
    conversationStart
  2. 2.
    conversationEnd
  3. 3.
    conversationFeedbackSubmit

didReceiveTriggerEvent

This optional method will be called when fire rule matched for created Triggers from the agent panel. It will receive eventName as parameter
func didReceiveTriggerEvent(_ eventName: String)

openSupport

This optional method will be called when support view controller is open.
func didOpenAcquireSupport()

hideSupport

This optional method will be called when support view controller is dismissed.
func hideSupport()

didReceiveNewMessage

This optional method will be called by SDK when a new message has been received. The details of the message received will be available in the argument.
func didReceiveNewMessage(_ message: Any)