SOS
This is a list of classes related to SOS. The entry point into this feature is through the SOSSessionManager
class. Refer to that class to get started.
-
The
SOSSessionManager
class is the main interface to the SOS framework.This object manages the flow of SOS sessions throughout the lifetime of the app. Configuration and customization of the SOS framework is handled through the public properties on the
SOSSessionManager
instance.SOSSessionManager
conforms to a multicast delegate model for messaging. Any class which implements theSOSDelegate
protocol can be added to a list of delegates to receive messages asynchronously.To get an instance of this class, use the
See moreSCServiceCloud.sos
property on+[SCServiceCloud sharedInstance]
.Declaration
Objective-C
@interface SOSSessionManager : NSObject
Swift
class SOSSessionManager : NSObject
-
Declaration
Objective-C
@protocol SOSDelegate <NSObject>
Swift
protocol SOSDelegate : NSObjectProtocol
-
SOSCompletionHandler block definition
Declaration
Objective-C
typedef void (^SOSCompletionHandler)(NSError *__strong, SOSSessionManager *__strong)
Swift
typealias SOSCompletionHandler = (Error?, SOSSessionManager?) -> Void
Parameters
error
The error that occurred in the block.
sos
The instance of the
SOSSessionManager
the block is acting on. -
Declaration
Objective-C
enum SOSSessionState {}
Swift
enum SOSSessionState : Int
-
Declaration
Objective-C
enum SOSStopReason {}
Swift
enum SOSStopReason : Int
-
The
SOSOptions
class allows you to configure the behavior of anySOSSessionManager
session.This object determines how an SOS session is routed, as well as the behavior of a session once established.
See moreDeclaration
Objective-C
@interface SOSOptions : NSObject
Swift
class SOSOptions : NSObject
-
Declaration
Objective-C
enum SOSCameraType {}
Swift
enum SOSCameraType : Int
-
Declaration
Objective-C
enum SOSUIPhase {}
Swift
enum SOSUIPhase : Int
-
The
SOSAgentAvailability
class allows you to configure periodic polling against a single SOS deployment for your organization.When the availability changes, an
See more-[SOSAgentAvailabilityDelegate agentAvailability:didChange:]
event is fired.Declaration
Objective-C
@interface SOSAgentAvailability : NSObject
Swift
class SOSAgentAvailability : NSObject
-
Delegate protocol for
SOSAgentAvailability
.Implement this protocol in your classes to listen for availability change events from the
See moreSOSAgentAvailability
class.Declaration
Objective-C
@protocol SOSAgentAvailabilityDelegate <NSObject>
Swift
protocol SOSAgentAvailabilityDelegate : NSObjectProtocol
-
Enum for the Availability Status updates generated by the
See more-[SOSAgentAvailabilityDelegate agentAvailability:didChange:]
event.Declaration
Objective-C
enum SOSAgentAvailabilityStatusType {}
Swift
enum SOSAgentAvailabilityStatusType : Int
-
The SOSCameraBaseViewController serves as the base controller which manages interactions between the UI and SOS backend for the camera phase of SOS.
If you wish to replace the camera UI, your class must implement this base class.
All method overrides require a call back to super for SOS to function properly.
See moreDeclaration
Objective-C
@interface SOSCameraBaseViewController : SOSSessionBaseViewController <SOSUIAgentStreamReceivable, SOSUIDeviceCameraReceivable>
-
The
SOSConnectingBaseViewController
serves as the base controller which manages interactions between the UI and SOS backend for the connecting phase of SOS.If you wish to replace the onboarding UI, your class must implement this base class.
All method overrides require a call back to super for SOS to function properly.
See moreDeclaration
Objective-C
@interface SOSConnectingBaseViewController : UIViewController <SOSConnectingViewController>
Swift
class SOSConnectingBaseViewController : UIViewController, SOSConnectingViewController
-
Protocol which defines properties and methods which are required for all view controllers which will accommodate the role for onboarding in SOS.
See moreDeclaration
Objective-C
@protocol SOSConnectingViewController <NSObject>
Swift
protocol SOSConnectingViewController : NSObjectProtocol
-
SOS ErrorCode definitions.
Errors fall into one of several groups (or series) of errors.
If there is an error thrown by a library dependency it will be included as metadata in the userInfo of the error which is returned to the application code.
See moreDeclaration
Objective-C
enum SOSErrorCode {}
Swift
enum SOSErrorCode : Int
-
Undocumented
Declaration
Objective-C
@interface SOSLineDrawView: UIView @end
Swift
class SOSLineDrawView : UIView
-
Custom UITextField that auto-masks itself when screen sharing is enabled during an SOS session. Otherwise identical to the default
UITextField
.See
SOSMaskable
Declaration
Objective-C
@interface SOSMaskedTextField : UITextField <SOSMaskable>
Swift
class SOSMaskedTextField : UITextField, SOSMaskable
-
Protocol for objects that can be registered as maskable. Anything implementing this protocol can be registered with the SOS Masking class, which will send the messages declared below at the appropriate times to enable/disable the masks during an SOS session.
See moreDeclaration
Objective-C
@protocol SOSMaskable <NSObject>
Swift
protocol SOSMaskable : NSObjectProtocol
-
Declaration
Objective-C
enum SOSMaskState {}
Swift
enum SOSMaskState : UInt
-
The
SOSMasking
class is responsible for managing the field masking applied during an SOS session. Sensitive fields or sections of the application may be masked to prevent them from appearing to the customer service agent in the video feed.You can retrieve a reference to this class from the
SOSSessionManager
instance, and then use the APIs provided below to add or remove parts of your application to be masked on an as-needed basis.See
SOSDelegate
Declaration
Objective-C
@interface SOSMasking : NSObject <SOSDelegate>
Swift
class SOSMasking : NSObject, SOSDelegate
-
SOS Network Reporter to manage delegates which receive information about SOS Audio/Video networking events.
Please note that the information related here refers to network information about the agent’s connection experience.
See moreDeclaration
Objective-C
@interface SOSNetworkReporter : NSObject
-
Delegate protocol to listen to SOS network traffic events.
See moreDeclaration
Objective-C
@protocol SOSNetworkReporterDelegate <NSObject>
Swift
protocol SOSNetworkReporterDelegate : NSObjectProtocol
-
Defines the discrete network conditions which can occur within an SOS Session.
See moreDeclaration
Objective-C
enum SOSNetworkStatus {}
Swift
enum SOSNetworkStatus : UInt
-
Defines the discrete network reconnect status which can occur within an SOS Session.
See moreDeclaration
Objective-C
enum SOSReconnectStatus {}
Swift
enum SOSReconnectStatus : UInt
-
The
SOSOnboardingBaseViewController
serves as the base controller which manages interactions between the UI and SOS backend for the onboarding phase of SOS.If you wish to replace the onboarding UI, your class must implement this base class.
All method overrides require a call back to super for SOS to function properly.
See moreDeclaration
Objective-C
@interface SOSOnboardingBaseViewController : UIViewController <SOSOnboardingViewController>
Swift
class SOSOnboardingBaseViewController : UIViewController, SOSOnboardingViewController
-
Protocol which defines properties and methods which are required for all view controllers which will accommodate the role for onboarding in SOS.
See moreDeclaration
Objective-C
@protocol SOSOnboardingViewController <NSObject>
Swift
protocol SOSOnboardingViewController : NSObjectProtocol
-
Class to handle screen annotations. This class implements the
See moreSOSWebRTCDelegate
.Declaration
Objective-C
@interface SOSScreenAnnotations : NSObject
Swift
class SOSScreenAnnotations : NSObject
-
Interface for configuring screen sharing behavior.
See moreDeclaration
Objective-C
@interface SOSScreenSharing : NSObject
Swift
class SOSScreenSharing : NSObject
-
The
SOSScreenSharingBaseViewController
serves as the base controller which manages interactions between the UI and SOS backend for the screen sharing phase of SOS.If you wish to replace the screen sharing UI, your class must implement this base class.
All method overrides require a call back to super for SOS to function properly.
See moreDeclaration
Objective-C
@interface SOSScreenSharingBaseViewController : SOSSessionBaseViewController <SOSUIAgentStreamReceivable, SOSUILineDrawingReceivable>
Swift
class SOSScreenSharingBaseViewController : SOSSessionBaseViewController, SOSUIAgentStreamReceivable, SOSUILineDrawingReceivable
-
The
SOSScreenSharingBaseViewController
serves as the base controller which manages interactions between the UI and SOS backend for the screen sharing phase of SOS.If you wish to replace the screen sharing UI, your class must implement this base class.
All method overrides require a call back to super for SOS to function properly.
See moreDeclaration
Objective-C
@interface SOSSessionBaseViewController : UIViewController <SOSSessionViewController>
Swift
class SOSSessionBaseViewController : UIViewController, SOSSessionViewController
-
Protocol which defines properties and methods which are required for all view controllers which will accommodate the role for screen sharing in SOS.
See moreDeclaration
Objective-C
@protocol SOSSessionViewController <NSObject>
Swift
protocol SOSSessionViewController : NSObjectProtocol
-
The
See moreSOSUIAgentStreamReceivable
protocol allows your view controller implementation to handle an agent video stream.Declaration
Objective-C
@protocol SOSUIAgentStreamReceivable
Swift
protocol SOSUIAgentStreamReceivable
-
Undocumented
See moreDeclaration
Objective-C
@protocol SOSUIDeviceCameraReceivable @required - (BOOL)willHandleDeviceCamera; @optional - (void)didReceiveDeviceCaptureLayer:(__weak AVCaptureVideoPreviewLayer *)deviceCapture; @end
Swift
protocol SOSUIDeviceCameraReceivable
-
The
See moreSOSUILineDrawingReceivable
protocol allows your view controller implementation to handle line drawings.Declaration
Objective-C
@protocol SOSUILineDrawingReceivable
Swift
protocol SOSUILineDrawingReceivable