Skip to content

@camera.ui/sdk / plugin / Notification

Interface: Notification

Defined in: plugin/notifier.ts:42

Payload published via api.notificationManager.publish or routed by the host. Plugins fill the user-visible fields; the host stamps the message id, timestamp and source identifier on receive.

Properties

adminOnly?

optional adminOnly?: boolean

Defined in: plugin/notifier.ts:81

Restricts delivery to users with the master or admin role. Use it for operational alerts (camera offline, disk full, plugin failures) so they don't reach guests the instance is merely shared with. Defaults to false.


body?

optional body?: string

Defined in: plugin/notifier.ts:48

Optional secondary text.


data?

optional data?: Record<string, string>

Defined in: plugin/notifier.ts:75

Plugin-specific context (cameraId, eventId, plugin-defined keys), string values only.


optional deepLink?: string

Defined in: plugin/notifier.ts:73

Router-relative path for mobile / web tap-handlers (e.g. '/cameras/cam-1'). No host, no scheme.


imageUrl?

optional imageUrl?: string

Defined in: plugin/notifier.ts:64

Publicly-fetchable URL to a rich image (e.g. a detection snapshot). Preferred over inline Notification.thumbnail bytes when a URL is available; empty renders text-only.


severity?

optional severity?: Severity

Defined in: plugin/notifier.ts:50

Drives DND / Critical-Alerts behaviour and Quiet-Hours bypass. Defaults to Severity.Info.


silent?

optional silent?: boolean

Defined in: plugin/notifier.ts:89

Delivers without sound, vibration or badge increment: meant for publishes that replace an earlier notification with the same Notification.tag (e.g. a richer description superseding the initial alert). The banner still updates. Ignored when Notification.severity is Severity.Critical. Defaults to false.


subtitle?

optional subtitle?: string

Defined in: plugin/notifier.ts:46

Optional second bold line, honoured natively on iOS; other notifiers may fold it into the body.


tag?

optional tag?: string

Defined in: plugin/notifier.ts:56

Collapse-key (e.g. 'motion:cam-1'). The host replaces an older entry with the same tag in the in-app list. Delivery is not throttled: every publish is sent. Notifiers may map it to a platform collapse-id.


thumbnail?

optional thumbnail?: Uint8Array<ArrayBufferLike>

Defined in: plugin/notifier.ts:58

Optional inline JPEG attached to the notification.


title

title: string

Defined in: plugin/notifier.ts:44

Headline shown by every notifier.


videoUrl?

optional videoUrl?: string

Defined in: plugin/notifier.ts:71

Publicly-fetchable URL to a short MP4 clip. Notifiers that can render video (iOS attachments) prefer it over Notification.imageUrl; everything else ignores it, so always send the image alongside. Keep clips small: the receiving phone downloads inside a tight OS budget.