Skip to content
Components

Media

Add images, videos, Lottie animations, and carousels to your flows.

Media

Media components bring visual richness to your in-app experiences. Display images, play videos, render Lottie animations, or build swipeable carousels, all rendered natively on each platform.

Image

The Image component displays static images on a screen. You can upload images directly to Setgreet or reference them by URL.

Properties

PropertyTypeDefaultDescription
Sourceimage--Upload an image or provide a URL.
Alt Texttext--Description used by screen readers.
Object Fitselectcovercover crops to fill, contain fits inside, fill stretches, none uses the intrinsic size.
PositionselectcenterWhich part of the image to keep when cropping: center, top, bottom, left, or right.
Widthsize100%Pixel value, percentage, or Auto.
Heightsize200Pixel value, percentage, or Auto.
Border Radiusnumber0Corner rounding in pixels.
Borderborder--Width, style, and color.
Shadowshadow--Offset, blur, spread, and color.
Opacitynumber100Transparency from 0 to 100.
Marginspacing0External spacing around the component.
On Clickaction--Action to run when the image is tapped.

Variable bindings

The image source URL supports variable bindings. This lets you display user-specific images, for example, a profile photo loaded from a user attribute.

Uploaded images are stored on Setgreet's CDN and served with optimized caching. For dynamic images, use a URL source with variable bindings.


Video

The Video component embeds a native video player within your flow screens. Use it for product walkthroughs, onboarding tutorials, or promotional content.

Properties

PropertyTypeDefaultDescription
Video URLtext--URL to the video file (MP4 recommended).
Poster Imageimage--Thumbnail displayed before the video plays.
Titletext--Optional title for the player.
Aspect Ratioselect9:169:16 (vertical, the default), 16:9, 4:3, 1:1, 21:9, or custom.
Widthsize100%Component width.
Heightsize200Component height.
Object Fitselectcovercover, contain, or fill.
AutoplaybooleanfalseStart playing automatically when the screen appears.
LoopbooleanfalseRestart the video when it reaches the end.
MutedbooleanfalsePlay without audio.
Show ControlsbooleantrueDisplay native playback controls.
Track PlaybackbooleantrueSend play, pause, and completion events to analytics.
Border Radiusnumber8Corner rounding.
Marginspacingbottom 16External spacing.

Analytics

Video interactions are automatically tracked: play, pause, completion, and watch duration. These events appear in your flow analytics and can be forwarded to external analytics tools.


Lottie

The Lottie component renders JSON-based animations created with After Effects and exported via Bodymovin. Lottie animations are lightweight and resolution-independent.

On Android, Lottie is included in the core SDK. On iOS it lives in an optional SetgreetSDKLottie module: add it and call SetgreetLottie.register(), or Lottie components render as an empty placeholder. For motion that does not need a designed animation file, the built-in animation presets render natively everywhere with no extra dependency.

Properties

PropertyTypeDefaultDescription
Animation URLtext--URL to the Lottie JSON file.
AutoplaybooleantrueStart the animation immediately.
LoopbooleantrueRepeat the animation continuously.
Speednumber1Playback speed multiplier. Above 1 speeds up, below 1 slows down.
Play on HoverbooleanfalsePlay only while hovered. Applies to the web preview; there is no hover state on a device.
Widthsize100%Pixel value, percentage, or Auto.
HeightsizeAutoPixel value, percentage, or Auto to derive the height from the animation's aspect ratio.
Marginspacing0External spacing.

By default a Lottie fills the available width and sizes its height automatically from the animation's intrinsic aspect ratio, so it stays proportional on every screen size. Set a fixed pixel width or height to override this.

When to use Lottie

Lottie is ideal for:

  • Animated illustrations during onboarding
  • Success/celebration animations after completing a task
  • Loading or progress indicators with custom branding
  • Attention-grabbing decorative elements

Lottie JSON files should be hosted on a CDN or uploaded to Setgreet. Keep file sizes reasonable (under 500KB) for optimal performance on mobile devices.


The Carousel component creates a horizontally swipeable set of cards. Each card can contain its own content (images, text, buttons), making carousels effective for feature tours, product showcases, or multi-step introductions within a single screen.

Properties

PropertyTypeDefaultDescription
Items (JSON)textarea--The carousel cards, authored as a JSON array.
Heightsize300Carousel height.
AutoplaybooleanfalseAutomatically advance through cards.
Autoplay Intervalnumber5000Milliseconds between auto-advances.
LoopbooleantrueReturn to the first card after the last.
Show DotsbooleantrueDisplay dot indicators below the carousel.
Show ArrowsbooleantrueDisplay previous and next arrows.
Dots Colorcolor#3B82F6Color of the indicator dots.
Pause on HoverbooleantruePause autoplay while hovered. Applies to the web preview.
Border Radiusnumber8Corner rounding.
Marginspacingbottom 16External spacing.

Autoplay Interval is in milliseconds, not seconds. The default of 5000 is five seconds; entering 3 gives a 3ms interval, not three seconds.

Analytics

Carousel swipe interactions are tracked automatically. You can see which cards users viewed, how far they swiped, and which card they stopped on in your flow analytics.

On this page