Let's Chat?

Customizing the Default UI

NOTE: The following information is for the 6.1 version of the SDK.

1. Notifications Events

To receive notification events from the user interactions with the UI, you must implement the GlanceDefaultUIDelegate protocol.

class GlanceUIManager: NSObject, GlanceDefaultUIDelegate {
    func glanceDefaultUIDialogAccepted() {
        
    }
    
    func glanceDefaultUIDialogCancelled() {
        
    }
    
    func glanceDefaultUIVoiceAuthenticationRequired() {
        
    }
    
    func glanceDefaultUIVoiceDidAuthenticate(_ dict: [AnyHashable : Any]!) {
        
    }
    
    func glanceDefaultUIVoiceAuthenticationFailed() {
        
    }
}
@protocol GlanceDefaultUIDelegate <NSObject>

@optional
-(void)glanceDefaultUIVoiceDidAuthenticate:(NSDictionary*)dict;

-(void)glanceDefaultUIVoiceAuthenticationRequired;
-(void)glanceDefaultUIVoiceAuthenticationFailed;

-(void)glanceDefaultUIDialogAccepted;
-(void)glanceDefaultUIDialogCancelled;

@end

2. Disabling Default UI

If you want to use your own fully Custom UI, you must disable the Default UI, as it is on by default.

GlanceVisitor.defaultUI(false, delegate: self)
[GlanceVisitor defaultUI: NO delegate: myDelegate];

To use the Default UI, but supply a GlanceDefaultUIDelegate or your own terms and conditions URL:

GlanceVisitor.defaultUI(false, delegate: self, termsURL: "https://www.example.com/terms")
[GlanceVisitor defaultUI: YES delegate: myDelegate termsURL: @"https://www.example.com/terms"];

3. Implementing Custom UI

First, you must implement the GlanceCustomViewerDelegate protocol.

class CustomViewerManager: GlanceCustomViewerDelegate {
    /**
     * Called when the agent viewer starts with a supplied UIView and size.
     *
     * @param glanceView    UIView displaying agent video.  Add this view to your interface.
     * @param size          Preferred size of the UIView
     */
    func glanceViewerDidStart(_ glanceView: UIView!, size: CGSize) {
        
    }
    
    /**
     * Called when the agent viewer has stopped
     *
     * @param glanceView    UIView displaying agent video.  Remove this view from your interface.
     */
    func glanceViewerDidStop(_ glanceView: UIView!) {
        
    }
}
/**
 * A delegate to manage the agent viewer video experience.
 */
@protocol GlanceCustomViewerDelegate

/**
 * Called when the agent viewer starts with a supplied UIView and size.
 *
 * @param glanceView    UIView displaying agent video.  Add this view to your interface.
 * @param size          Preferred size of the UIView
 */
-(void) glanceViewerDidStart:(UIView*)glanceView size:(CGSize)size;

/**
 * Called when the agent viewer has stopped
 *
 * @param glanceView    UIView displaying agent video.  Remove this view from your interface.
 */
-(void) glanceViewerDidStop:(UIView*)glanceView;
@end

In order to enable the integration, you need to set the custom viewer delegate by calling the following method:

GlanceVisitor.setCustomViewerDelegate(self)
[GlanceVisitor setCustomViewerDelegate:self];

By continuing to use the site, you agree to the use of cookies. Learn More