Skip to main content

Videowise Live Shopping Channel

A full-screen live shopping channel component that embeds the Videowise live streaming experience. It renders a WebView with the live shopping channel and dispatches custom events for user interactions like adding products to cart.
Note: The LiveShoppingChannel component does not need to be wrapped inside <VideowiseSDK.Provider>. It operates independently.

Props

PropTypeRequiredDefaultDescription
videowiseInfoobjectYesStore configuration (see below)
offsetYnumberNo0Reduces the height of the component wrapper by screenHeight - offsetY
styleStyleProp<ViewStyle>NoCustom style overrides for the component wrapper
onEvent(event) => voidNoCallback for live shopping events
onAddToCart(event) => voidNoCallback when a product is added to cart
onCheckout(event) => voidNoCallback for checkout events
environment'local' | 'staging' | 'production'No'production'Environment target

videowiseInfo object

PropertyTypeRequiredDefaultDescription
shopstringYesYour store domain (e.g. storename.myshopify.com)

onEvent callback

Triggered for all live shopping interaction events. The event object has the following structure:
PropertyTypeDescription
type'live-shopping'Event type identifier
detailobjectEvent detail payload (see below)
detail object (LSTrackingEventData)
PropertyTypeRequiredDescription
lsIdstringYesLive shopping session ID
siteIdstringYesSite ID
organisationIdstringYesOrganisation ID
clientTSDateYesClient timestamp
videoElapsedMinutesnumberYesMinutes elapsed in the video
videoElapsedSecondsnumberYesSeconds elapsed in the video
currentTimenumberNoCurrent playback time
uidstringYesUnique user ID
device'mobile' | 'desktop'YesDevice type
isLivebooleanYesWhether the stream is currently live
urlstringYesPage URL
interactionTypestringYesInteraction type (see list below)
eventTypestringYesHost event type: 'play', 'pause', 'stop', 'load', 'pending', 'interaction'
itemobjectNoProduct data (present for add_to_cart and product_click interactions)
item object (when present)
PropertyTypeDescription
namestringProduct name
skustringProduct SKU
idstringProduct ID
highlightedbooleanWhether the product is highlighted
meta.customIdstringCustom variant ID
meta.vendorstringProduct vendor
meta.pricenumber | stringProduct price
meta.compareAtPriceunknownCompare at price
meta.quantitynumberQuantity
meta.currencystringCurrency code
Possible interaction types (interactionType)
  • mute_player — Player muted
  • unmute_player — Player unmuted
  • pause_player — Player paused
  • resume_player — Player resumed
  • like_reaction — Like reaction
  • share — Share clicked
  • add_to_calendar — Added to calendar
  • send_chat — Chat message sent
  • close_player — Player closed
  • minimize_player — Player minimized
  • maximize_player — Player maximized
  • show_product_list — Product list shown
  • hide_product_list — Product list hidden
  • product_click — Product clicked
  • add_to_cart — Product added to cart
  • checkout — Checkout clicked
  • show_cart — Cart shown
  • hide_cart — Cart hidden
  • toggle_cc_on — Closed captions enabled
  • toggle_cc_off — Closed captions disabled
  • replay — Replay clicked
  • progress — Playback progress

onAddToCart callback

Triggered when a user adds a product to the cart (add_to_cart interaction). The product data is unified into a standard format. The event object has the following structure:
PropertyTypeDescription
type'add-to-cart'Event type identifier
detailobjectUnified product payload
detail object
PropertyTypeDescription
productNamestringProduct name
variantIdnumberVariant ID
selectedVariantnumberSelected variant ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code

onCheckout callback

Triggered when a user clicks checkout. The event object has the following structure:
PropertyTypeDescription
type'live-shopping'Event type identifier
detailobjectLSTrackingEventData payload (same structure as onEvent detail)

Example

<VideowiseSDK.LiveShoppingChannel
    videowiseInfo={{ shop: 'storename.myshopify.com' }}
    environment="production"
    offsetY={50}
    style={{ backgroundColor: '#000' }}
    onEvent={(event) => console.log('onEvent', event)}
    onAddToCart={(event) => console.log('onAddToCart', event)}
    onCheckout={(event) => console.log('onCheckout', event)}
/>
Here’s a list of the possible events triggered inside the LiveShopping component -> https://docs.videowise.com/custom-events-ls.
Note: The Inline, Floating, and VideoFeed components must be wrapped inside <VideowiseSDK.Provider> to function correctly. The Provider manages modal video state and handles navigation when a user taps on a video.
<VideowiseSDK.Provider>
    {/* Your components here */}
</VideowiseSDK.Provider>

Videowise VideoFeed

A full-screen video feed component that displays a single video with shopping capabilities. The video player is shown immediately upon render.

Props

PropTypeRequiredDefaultDescription
videowiseInfoobjectYesStore configuration (see below)
widgetIdstringYesThe ID of the Videowise widget
styleStyleProp<ViewStyle>NoCustom style overrides for the component wrapper
videoIdstringNo''Specific video ID to display
rightActionButtonsTopnumberNo7Top offset (px) for the right action buttons (close, etc.)
marketingLogoTopnumberNo20Top offset (px) for the marketing logo
shoppableTopnumberNo0Top offset (px) for the shoppable product list
shoppableListAspectRatio`${number}/${number}` | "auto"No"1/1"Aspect ratio of product list items
disableIndependentApiCallbooleanNotrueDisables independent API calls
onEvent(event) => voidNoCallback for custom events
onAddToCart(event) => voidNoCallback when a product is added to cart
onCheckout(event) => voidNoCallback for checkout events
environment'local' | 'staging' | 'production'No'production'Environment target

videowiseInfo object

PropertyTypeRequiredDefaultDescription
shopstringYesYour store domain (e.g. storename.myshopify.com)
cartType'Shopify' | 'Magento' | 'SFCC' | 'Tapcart' | 'Other'No'Shopify'Cart platform type
currencystringNo'USD'Display currency
currencyRatenumberNo1Currency conversion rate
productIdnumber | nullNonullFilter by specific product ID

onEvent callback

Triggered for all custom events from the widget. The event object has the following structure:
PropertyTypeDescription
type'custom-event'Event type identifier
detailobjectEvent detail payload (see below)
namestringEvent name (see list below)
targetTagnullReserved for future use
detail object
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
variantIdnumberVariant ID
selectedVariantnumberSelected variant ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code (e.g. 'USD')
videoTitlestringVideo title
videoIdstringVideo ID
widgetIdstringWidget ID
deviceTypestringDevice type
urlstringPage URL
campaignIdstringCampaign ID
itemsarrayArray of products (see onCheckout)
All detail properties are optional and depend on the event type.
Possible event names (name)
  • videowiseProductAddToCart — Product added to cart
  • videowiseProductBuyNow — Buy now clicked
  • videowiseCheckoutClick — Checkout clicked
  • videowiseProductClick — Product clicked
  • videowiseVideoClick — Video clicked
  • videowiseVideoStart — Video played more than 3 seconds
  • videowiseVideoIsPlaying — Video is currently playing
  • videowiseVideoFull — Video played more than 80%
  • videowiseVideoSwipe — Video swiped
  • videowisePlayerClose — Player closed
  • videowiseVideoSoundOn — Sound turned on
  • videowiseVideoSoundOff — Sound turned off
  • videowiseVideoBounce — Video closed/swiped before 3 seconds
  • videowiseDataReady — Widget data loaded
  • videowiseCampaignReady — Campaign rendered
  • videowiseCampaignCheckout — Redirecting to checkout
  • videowiseCtaClick — CTA button clicked

onAddToCart callback

Triggered when a user adds a product to the cart (videowiseProductAddToCart event). The event object has the following structure:
PropertyTypeDescription
type'add-to-cart'Event type identifier
detailobjectEvent detail payload
detail object
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
variantIdnumberVariant ID
selectedVariantnumberSelected variant ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code (e.g. 'USD')
videoTitlestringVideo title
videoIdstringVideo ID
widgetIdstringWidget ID
deviceTypestringDevice type
urlstringPage URL

onCheckout callback

Triggered when a user clicks checkout (videowiseCheckoutClick event). The event object has the following structure:
PropertyTypeDescription
type'custom-event'Event type identifier
detailobjectEvent detail payload
namestringEvent name
targetTagnullReserved for future use
detail object
PropertyTypeDescription
campaignIdstringCampaign ID
deviceTypestringDevice type
urlstringPage URL
itemsarrayArray of products in the checkout
items array element
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code

Example

<VideowiseSDK.Provider>
    <View style={{ flex: 1 }}>
        <VideowiseSDK.VideoFeed
            videowiseInfo={{
                cartType: 'Shopify',
                shop: 'storename.myshopify.com',
                currency: 'USD',
                currencyRate: 1,
                productId: null,
            }}
            widgetId="your-widget-id"
            environment="production"
            rightActionButtonsTop={44}
            marketingLogoTop={44}
            shoppableTop={44}
            shoppableListAspectRatio="1/1"
            videoId=""
            onEvent={(event) => console.log('onEvent', event)}
            onAddToCart={(event) => console.log('onAddToCart', event)}
            onCheckout={(event) => console.log('onCheckout', event)}
        />
    </View>
</VideowiseSDK.Provider>

Videowise Floating

A floating widget overlay that appears at the bottom-left of the screen. It dynamically sizes itself based on the widget content. When a user taps on a video, a full-screen VideoFeed modal opens.

Props

PropTypeRequiredDefaultDescription
videowiseInfoobjectYesStore configuration (same as VideoFeed)
widgetIdstringYesThe ID of the Videowise widget
rightActionButtonsTopnumberNoTop offset (px) for the right action buttons
marketingLogoTopnumberNoTop offset (px) for the marketing logo
shoppableTopnumberNoTop offset (px) for the shoppable product list
shoppableListAspectRatio`${number}/${number}` | "auto"NoAspect ratio of product list items
onEvent(event) => voidNoCallback for custom events
onAddToCart(event) => voidNoCallback when a product is added to cart
onCheckout(event) => voidNoCallback for checkout events
environment'local' | 'staging' | 'production'No'production'Environment target

videowiseInfo object

PropertyTypeRequiredDefaultDescription
shopstringYesYour store domain (e.g. storename.myshopify.com)
cartType'Shopify' | 'Magento' | 'SFCC' | 'Tapcart' | 'Other'No'Shopify'Cart platform type
currencystringNo'USD'Display currency
currencyRatenumberNo1Currency conversion rate
productIdnumber | nullNonullFilter by specific product ID

onEvent callback

Triggered for all custom events from the widget. The event object has the following structure:
PropertyTypeDescription
type'custom-event'Event type identifier
detailobjectEvent detail payload (see below)
namestringEvent name (see list below)
targetTagnullReserved for future use
detail object
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
variantIdnumberVariant ID
selectedVariantnumberSelected variant ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code (e.g. 'USD')
videoTitlestringVideo title
videoIdstringVideo ID
widgetIdstringWidget ID
deviceTypestringDevice type
urlstringPage URL
campaignIdstringCampaign ID
itemsarrayArray of products (see onCheckout)
All detail properties are optional and depend on the event type.
Possible event names (name)
  • videowiseProductAddToCart — Product added to cart
  • videowiseProductBuyNow — Buy now clicked
  • videowiseCheckoutClick — Checkout clicked
  • videowiseProductClick — Product clicked
  • videowiseVideoClick — Video clicked
  • videowiseVideoStart — Video played more than 3 seconds
  • videowiseVideoIsPlaying — Video is currently playing
  • videowiseVideoFull — Video played more than 80%
  • videowiseVideoSwipe — Video swiped
  • videowisePlayerClose — Player closed
  • videowiseVideoSoundOn — Sound turned on
  • videowiseVideoSoundOff — Sound turned off
  • videowiseVideoBounce — Video closed/swiped before 3 seconds
  • videowiseDataReady — Widget data loaded
  • videowiseCampaignReady — Campaign rendered
  • videowiseCampaignCheckout — Redirecting to checkout
  • videowiseCtaClick — CTA button clicked

onAddToCart callback

Triggered when a user adds a product to the cart (videowiseProductAddToCart event). The event object has the following structure:
PropertyTypeDescription
type'add-to-cart'Event type identifier
detailobjectEvent detail payload
detail object
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
variantIdnumberVariant ID
selectedVariantnumberSelected variant ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code (e.g. 'USD')
videoTitlestringVideo title
videoIdstringVideo ID
widgetIdstringWidget ID
deviceTypestringDevice type
urlstringPage URL

onCheckout callback

Triggered when a user clicks checkout (videowiseCheckoutClick event). The event object has the following structure:
PropertyTypeDescription
type'custom-event'Event type identifier
detailobjectEvent detail payload
namestringEvent name
targetTagnullReserved for future use
detail object
PropertyTypeDescription
campaignIdstringCampaign ID
deviceTypestringDevice type
urlstringPage URL
itemsarrayArray of products in the checkout
items array element
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code

Example

<VideowiseSDK.Provider>
    <View style={{ flex: 1 }}>
        <VideowiseSDK.Floating
            videowiseInfo={{
                cartType: 'Shopify',
                shop: 'storename.myshopify.com',
                currency: 'USD',
                currencyRate: 1,
                productId: null,
            }}
            widgetId="your-widget-id"
            environment="production"
            rightActionButtonsTop={44}
            marketingLogoTop={44}
            shoppableTop={44}
            shoppableListAspectRatio="1/1"
            onEvent={(event) => console.log('onEvent', event)}
            onAddToCart={(event) => console.log('onAddToCart', event)}
            onCheckout={(event) => console.log('onCheckout', event)}
        />
    </View>
</VideowiseSDK.Provider>

Videowise Inline

An inline widget that embeds directly within the page flow. It starts with minimal height and dynamically expands as content loads, making it suitable for placing inside scrollable layouts. When a user taps on a video, a full-screen VideoFeed modal opens.

Available Widget Types

The following widget layouts are supported for the Inline component:
  • Single Video
  • In-Page Video Player
  • Quick Shop Carousel
  • Stories
  • Video Carousel
  • Highlighted Carousel
  • Overlapping Carousel
  • Masonry Grid
  • Grid Gallery
  • Gallery Highlight

Props

PropTypeRequiredDefaultDescription
videowiseInfoobjectYesStore configuration (same as VideoFeed)
widgetIdstringYesThe ID of the Videowise widget
rightActionButtonsTopnumberNoTop offset (px) for the right action buttons
marketingLogoTopnumberNoTop offset (px) for the marketing logo
shoppableTopnumberNoTop offset (px) for the shoppable product list
shoppableListAspectRatio`${number}/${number}` | "auto"NoAspect ratio of product list items
onEvent(event) => voidNoCallback for custom events
onAddToCart(event) => voidNoCallback when a product is added to cart
onCheckout(event) => voidNoCallback for checkout events
environment'local' | 'staging' | 'production'No'production'Environment target

videowiseInfo object

PropertyTypeRequiredDefaultDescription
shopstringYesYour store domain (e.g. storename.myshopify.com)
cartType'Shopify' | 'Magento' | 'SFCC' | 'Tapcart' | 'Other'No'Shopify'Cart platform type
currencystringNo'USD'Display currency
currencyRatenumberNo1Currency conversion rate
productIdnumber | nullNonullFilter by specific product ID

onEvent callback

Triggered for all custom events from the widget. The event object has the following structure:
PropertyTypeDescription
type'custom-event'Event type identifier
detailobjectEvent detail payload (see below)
namestringEvent name (see list below)
targetTagnullReserved for future use
detail object
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
variantIdnumberVariant ID
selectedVariantnumberSelected variant ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code (e.g. 'USD')
videoTitlestringVideo title
videoIdstringVideo ID
widgetIdstringWidget ID
deviceTypestringDevice type
urlstringPage URL
campaignIdstringCampaign ID
itemsarrayArray of products (see onCheckout)
All detail properties are optional and depend on the event type.
Possible event names (name)
  • videowiseProductAddToCart — Product added to cart
  • videowiseProductBuyNow — Buy now clicked
  • videowiseCheckoutClick — Checkout clicked
  • videowiseProductClick — Product clicked
  • videowiseVideoClick — Video clicked
  • videowiseVideoStart — Video played more than 3 seconds
  • videowiseVideoIsPlaying — Video is currently playing
  • videowiseVideoFull — Video played more than 80%
  • videowiseVideoSwipe — Video swiped
  • videowisePlayerClose — Player closed
  • videowiseVideoSoundOn — Sound turned on
  • videowiseVideoSoundOff — Sound turned off
  • videowiseVideoBounce — Video closed/swiped before 3 seconds
  • videowiseDataReady — Widget data loaded
  • videowiseCampaignReady — Campaign rendered
  • videowiseCampaignCheckout — Redirecting to checkout
  • videowiseCtaClick — CTA button clicked

onAddToCart callback

Triggered when a user adds a product to the cart (videowiseProductAddToCart event). The event object has the following structure:
PropertyTypeDescription
type'add-to-cart'Event type identifier
detailobjectEvent detail payload
detail object
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
variantIdnumberVariant ID
selectedVariantnumberSelected variant ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code (e.g. 'USD')
videoTitlestringVideo title
videoIdstringVideo ID
widgetIdstringWidget ID
deviceTypestringDevice type
urlstringPage URL

onCheckout callback

Triggered when a user clicks checkout (videowiseCheckoutClick event). The event object has the following structure:
PropertyTypeDescription
type'custom-event'Event type identifier
detailobjectEvent detail payload
namestringEvent name
targetTagnullReserved for future use
detail object
PropertyTypeDescription
campaignIdstringCampaign ID
deviceTypestringDevice type
urlstringPage URL
itemsarrayArray of products in the checkout
items array element
PropertyTypeDescription
productNamestringProduct name
productIdnumberProduct ID
qtynumberQuantity
pricenumberProduct price
currencyCodestringCurrency code

Example

<VideowiseSDK.Provider>
    <View style={{ flex: 1, justifyContent: 'center' }}>
        <VideowiseSDK.Inline
            videowiseInfo={{
                cartType: 'Shopify',
                shop: 'storename.myshopify.com',
                currency: 'USD',
                currencyRate: 1,
                productId: null,
            }}
            widgetId="your-widget-id"
            environment="production"
            rightActionButtonsTop={44}
            marketingLogoTop={44}
            shoppableTop={44}
            shoppableListAspectRatio="1/1"
            onEvent={(event) => console.log('onEvent', event)}
            onAddToCart={(event) => console.log('onAddToCart', event)}
            onCheckout={(event) => console.log('onCheckout', event)}
        />
    </View>
</VideowiseSDK.Provider>