SCKnowledgeInterface

@interface SCKnowledgeInterface : NSObject

The SCKnowledgeInterface class is the main interface to the Knowledge SDK. Use this class to configure and customize the Knowledge interface.

To get an instance of this class, use the SCServiceCloud.knowledge property on +[SCServiceCloud sharedInstance].

  • Indicates whether the Knowledge interface is enabled.

    Declaration

    Objective-C

    @property (getter=isEnabled, assign, readwrite, nonatomic) BOOL enabled;

    Swift

    var isEnabled: Bool { get set }
  • Indicates whether the Knowledge interface is currently visible. Setting this value will present or dismiss the interface in an unanimated fashion.

    Declaration

    Objective-C

    @property (getter=isInterfaceVisible, assign, readwrite, nonatomic)
        BOOL interfaceVisible;

    Swift

    var isInterfaceVisible: Bool { get set }
  • The delegate for the Knowledge interface.

    Declaration

    Objective-C

    @property (readwrite, nonatomic, nullable)
        NSObject<SCKnowledgeInterfaceDelegate> *delegate;
  • Controls the visibility of the Knowledge interface, with an optional animation.

    Declaration

    Objective-C

    - (void)setInterfaceVisible:(BOOL)interfaceVisible
                       animated:(BOOL)animated
                     completion:(nullable dispatch_block_t)completionBlock;

    Swift

    func setInterfaceVisible(_ interfaceVisible: Bool, animated: Bool, completion completionBlock: (() -> Void)? = nil)

    Parameters

    interfaceVisible

    YES to make the interface visible; NO to hide the interface.

    animated

    YES to animate; NO to perform no animation.

    completionBlock

    Optional block to invoke when the interface change has completed.

  • Presents the given article stand-alone within the knowledge interface.

    When presented this way, it is minimizable on its own, independent of other elements of the support experience. The resulting navigation controller is returned, allowing other interface elements to be pushed onto it. For example, after presenting an article in this way, other SCSArticleViewController instances can be pushed on as needed.

    Declaration

    Objective-C

    - (nonnull UINavigationController<SCSMinimizable> *)
    showArticle:(nonnull SCSArticle *)article
       animated:(BOOL)animated
     completion:(nullable dispatch_block_t)completionBlock;

    Parameters

    article

    The article to present.

    animated

    Indicates if the presentation should be animated.

    completionBlock

    Completion block to trigger when the controller is presented.

    Return Value

    Minimizable navigation controller containing the presented article.

  • Determines whether session logs are sent for collection. Logs sent remotely do not collect personal information. Unique IDs are created for tying logs to sessions, and those IDs cannot be correlated back to specific users.

    Default: YES

    Declaration

    Objective-C

    @property (assign, readwrite, nonatomic) BOOL remoteLoggingEnabled;

    Swift

    var remoteLoggingEnabled: Bool { get set }