Skip to content

Publish in the Future

The example demonstrates scheduling a message to be delivered on January 1st, 2030 at 00:00 Central time. The message is published into the demo channel:

Channel *channel = [Backendless.shared.messaging subscribeWithChannelName:@"demo"];
RTSubscription *subscription = [channel addStringMessageListenerWithResponseHandler:^(NSString *message) {
    NSLog(@"Received a message: %@", message);
} errorHandler:^(Fault *fault) {
    NSLog(@"Error: %@", fault.message);
}];

DeliveryOptions *deliveryOptions = [DeliveryOptions new];
deliveryOptions.publishAt = [NSDate dateWithTimeIntervalSinceNow:1893477600000];

[Backendless.shared.messaging publishWithChannelName:@"demo" message:@"Happy New Year!" deliveryOptions:deliveryOptions responseHandler:^(MessageStatus *messageStatus) {
    NSLog(@"Message has been published");
} errorHandler:^(Fault *fault) {
    NSLog(@"Error: %@", fault.message);
}];
let channel = Backendless.shared.messaging.subscribe(channelName: "demo")
let _ = channel.addStringMessageListener(responseHandler: { message in
    print("Received a message: \(message)")
}, errorHandler: { fault in
    print("Error: \(fault.message ?? "")")
})

let deliveryOptions = DeliveryOptions()
deliveryOptions.publishAt = Date(timeIntervalSinceNow: 1893477600000)

Backendless.shared.messaging.publish(channelName: "demo", message: "Happy New Year!", deliveryOptions: deliveryOptions, responseHandler: { messageStatus in
    print("Message has been published")
}, errorHandler: { fault in
    print("Error: \(fault.message ?? "")")
})