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)

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

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

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

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>