The Dart SDK is currently in experimental status. If you would like to provide feedback, please reach out to us with your suggestions and comments on our Discord.
Dart - topic.publish()
Publish an event (push based message) to a topic.
import 'package:nitric_sdk/nitric.dart';
final updates = Nitric.topic("updates").allow([
  TopicPermission.publish,
]);
Parameters
- Name
 payload- Required
 - Required
 - Type
 - Map<String, dynamic>
 - Description
 The payload to publish to the topic.
- Name
 delay- Optional
 - Optional
 - Type
 - int
 - Description
 A number of seconds to delay the delivery of this message.
Examples
Publish a message
Publishing messages to a topic will push a copy of the message to each of the topic's subscribers. By default, delivery occurs without a delay.
import 'package:nitric_sdk/nitric.dart';
final updates = Nitric.topic("updates").allow([
  TopicPermission.publish,
]);
await updates.publish({
  "something": "amazing happened",
});
Delaying message delivery
You can delay the delivery of messages sent to a topic. The current maximum delay is 7 days (604800 seconds).
import 'package:nitric_sdk/nitric.dart';
final updates = Nitric.topic("updates").allow([
  TopicPermission.publish,
]);
// 10 minute delay
await updates.publish({
  "something": "amazing happened",
}, delay: 600);
Notes
- A service may subscribe to OR publish to a topic but not both.