Managers

  • BadgeManager provides easy to use APIs to interact with user’s badges.

    Declaration

    Swift

    @objc
    public class BadgeManager : NSObject
  • ServerManager is the class to be used for configuring the SDK to use a particular server. It does all the heavy lifting related to server configuration.

    Declaration

    Swift

    @objc
    public final class ServerManager : NSObject
  • This class provides the APIs to perform most common interactions with keys. e.g Load user’s favorite keys, add / remove a favorite key, load all keys for a specific badge, reorder favorite keys for a badge etc.

    Declaration

    Swift

    public class KeysInteractor
  • The InboxManager provides the API to manage the inbox.

    Declaration

    Swift

    public class InboxManager
  • Message Manager is used to process push notification.

    Declaration

    Swift

    public final class MessageManager : NSObject
  • Usher Badges can have security restrictions configured by the administrator. The BadgeSecurity class provides the APIs to retrieve the active unsatisfied security restriction on a Badge object and also provides API to trigger the worflow to process the security restrictions. This class is used extensively by the UsherSDK to make sure that a badge associated with any workflow complies with all the restriction set for it.

    Declaration

    Swift

    public final class BadgeSecurity
  • BeaconMonitor is used to monitor nearby beacons.

    Once a beacon is detected, Usher SDK will make a call to Usher Server to execute the beacon action, which is defined on the network. To use beacon monitoring, always location access is required. The beacon action request is only sent to server if the device is in the defined geo-fences.

    Declaration

    Swift

    public class BeaconMonitor : NSObject
  • Location Monitor is used to monitor predefined telemetry regions for each badge.

    The client’s location will only be tracked and logged to server within the telemetry regions, starting when user enters the telemtry region. If no telemetry regions are defined for the badge, client’s location will always be tracked and logged to the server.

    When the client is offline and within telemetry regions, location data will be stored in the file system. The location data will be logged to server and removed from the file system when client is back online.

    Declaration

    Swift

    public class LocationMonitor : NSObject
  • Class for processing a scanned Usher Code

    Declaration

    Swift

    public class ScanProcessor
  • A singlton class for reporting desktop related events.

    See also

    DesktopReportEventType for event types
    Declaration

    Swift

    public class DesktopReporter : NSObject
  • Use this class to generate the TOTP code for a badge. The TOTP code is 6 digits. The duration of the TOTP code varies by the badge and can be configured on Usher Network Manager. A new code will be generated and published once the current code expires.

    Declaration

    Swift

    public class TOTPCodeGenerator
  • This protocol represents the listener for TOTP (Time-baded One Time Passcode) code.

    Declaration

    Swift

    public protocol TOTPCodeGeneratorDelegate : AnyObject
  • Use this class to generate the Usher Code for a badge. The length of the Usher Code varies as follows device being online - 4 digits device being offline - 8 digits A QR code representation of the Usher Code is also provided in the delegate callback. The duration of the Usher Code varies by the badge and can be configured on the Usher Network Manager. A new code will be generated and published once the current code expires.

    Declaration

    Swift

    public class UsherCodeGenerator
  • This protocol represents the listener for usher code.

    Declaration

    Swift

    public protocol UsherCodeGeneratorDelegate : AnyObject