UAScheduleBuilder

Objective-C

@interface UAScheduleBuilder : NSObject

Swift

class UAScheduleBuilder : NSObject

Builder class for UASchedule.

Schedule Builder Properties

  • The schedule’s identifier.

    Optional. Most be unique. Defaults to a UUID.

    Declaration

    Objective-C

    @property (nonatomic, copy) NSString *_Nonnull identifier;

    Swift

    var identifier: String { get set }
  • The schedule’s metadata.

    Optional.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSDictionary *metadata;

    Swift

    var metadata: [AnyHashable : Any]? { get set }
  • The schedule’s priority. Schedules are executed by priority in ascending order.

    Optional. Defaults to 0.

    Declaration

    Objective-C

    @property (nonatomic) NSInteger priority;

    Swift

    var priority: Int { get set }
  • The max number of times the schedule may be executed.

    Optional. Defaults to 1.

    For in-app messages, if the audience condition checks fail, and the miss behavior is skip, the triggered schedule will not count towards the limit.

    Declaration

    Objective-C

    @property (nonatomic) NSUInteger limit;

    Swift

    var limit: UInt { get set }
  • Array of triggers. Triggers define conditions on when to execute the schedule.

    An array with between 1 and 10 triggers is required.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSArray<UAScheduleTrigger *> *triggers;

    Swift

    var triggers: [UAScheduleTrigger]? { get set }
  • The schedule’s start time.

    Optional.

    Declaration

    Objective-C

    @property (nonatomic, strong, nullable) NSDate *start;

    Swift

    var start: Date? { get set }
  • end

    The schedule’s end time. After the end time the schedule will be finished.

    Optional.

    Declaration

    Objective-C

    @property (nonatomic, strong, nullable) NSDate *end;

    Swift

    var end: Date? { get set }
  • The schedule’s delay.

    Optional.

    Declaration

    Objective-C

    @property (nonatomic, strong, nullable) UAScheduleDelay *delay;

    Swift

    var delay: UAScheduleDelay? { get set }
  • The schedule’s interval. The amount of time to pause the schedule after executing.

    Optional. Defaults to 0.

    Declaration

    Objective-C

    @property (nonatomic) NSTimeInterval interval;

    Swift

    var interval: TimeInterval { get set }
  • The schedule’s group.

    Optional.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *group;

    Swift

    var group: String? { get set }
  • The schedule’s edit grace period. The amount of time the schedule will still be editable after it has been expired or finished executing. Optional. Defaults to 0.

    Declaration

    Objective-C

    @property (nonatomic) NSTimeInterval editGracePeriod;

    Swift

    var editGracePeriod: TimeInterval { get set }
  • The audience conditions for the message.

    Optional.

    Declaration

    Objective-C

    @property (nonatomic, strong, nullable) UAScheduleAudience *audience;

    Swift

    var audience: UAScheduleAudience? { get set }