1"use strict";(globalThis.webpackChunkbambuser_docs||=[]).push([[4613],{47773(e,o,t){t.r(o),t.d(o,{assets:()=>l,contentTitle:()=>d,default:()=>c,frontMatter:()=>s,metadata:()=>n,toc:()=>a});const n=JSON.parse('{"id":"react-native-promoted-shows","title":"Promoted Shows","description":"Control the promoted shows carousel in the RN player via the ui.hidePromotedShows config prop; show/hide and minimal player examples, memoize the config prop.","source":"@site/live/react-native-promoted-shows.mdx","sourceDirName":".","slug":"/mobile-sdk-integration-react-native/promoted-shows","permalink":"/docs/live/mobile-sdk-integration-react-native/promoted-shows","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"id":"react-native-promoted-shows","title":"Promoted Shows","description":"Control the promoted shows carousel in the RN player via the ui.hidePromotedShows config prop; show/hide and minimal player examples, memoize the config prop.","sidebar_label":"Promoted Shows","slug":"mobile-sdk-integration-react-native/promoted-shows"},"sidebar":"someSidebars","previous":{"title":"Audio Control","permalink":"/docs/live/mobile-sdk-integration-react-native/audio-control"},"next":{"title":"Mobile SDK FAQ","permalink":"/docs/live/mobile-sdk-faq"}}');var i=t(74848),r=t(28453);const s={id:"react-native-promoted-shows",title:"Promoted Shows",description:"Control the promoted shows carousel in the RN player via the ui.hidePromotedShows config prop; show/hide and minimal player examples, memoize the config prop.",sidebar_label:"Promoted Shows",slug:"mobile-sdk-integration-react-native/promoted-shows"},d="Promoted Shows",l={},a=[{value:"Show or Hide the Promoted Shows Carousel",id:"show-or-hide-the-promoted-shows-carousel",level:2},{value:"UI Configuration Reference",id:"ui-configuration-reference",level:2},{value:"Hiding All Optional UI Elements",id:"hiding-all-optional-ui-elements",level:2}];function h(e){const o={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.header,{children:(0,i.jsx)(o.h1,{id:"promoted-shows",children:"Promoted Shows"})}),"\n",(0,i.jsxs)(o.p,{children:["The Bambuser player has a built-in promoted shows carousel that surfaces other live or upcoming shows to viewers while they watch. You can control its visibility through the ",(0,i.jsx)(o.code,{children:"ui.hidePromotedShows"})," configuration flag."]}),"\n",(0,i.jsx)(o.h2,{id:"show-or-hide-the-promoted-shows-carousel",children:"Show or Hide the Promoted Shows Carousel"}),"\n",(0,i.jsxs)(o.p,{children:["The promoted shows carousel is visible by default. Pass ",(0,i.jsx)(o.code,{children:"hidePromotedShows: false"})," explicitly to confirm it is enabled, or ",(0,i.jsx)(o.code,{children:"true"})," to hide it."]}),"\n",(0,i.jsx)(o.pre,{children:(0,i.jsx)(o.code,{className:"language-tsx",children:"<BambuserVideoView\n id=\"your-show-id\"\n configuration={{\n autoplay: true,\n currency: 'USD',\n locale: 'en-US',\n buttons: {\n dismiss: 'event',\n },\n ui: {\n hidePromotedShows: false, // true = hide the promoted shows carousel\n },\n }}\n/>\n"})}),"\n",(0,i.jsx)(o.h2,{id:"ui-configuration-reference",children:"UI Configuration Reference"}),"\n",(0,i.jsxs)(o.p,{children:["Both flags belong under the ",(0,i.jsx)(o.code,{children:"ui"})," object in your player configuration:"]}),"\n",(0,i.jsxs)(o.table,{children:[(0,i.jsx)(o.thead,{children:(0,i.jsxs)(o.tr,{children:[(0,i.jsx)(o.th,{children:"Config Key"}),(0,i.jsx)(o.th,{children:"Type"}),(0,i.jsx)(o.th,{children:"Default"}),(0,i.jsx)(o.th,{children:"Description"})]})}),(0,i.jsxs)(o.tbody,{children:[(0,i.jsxs)(o.tr,{children:[(0,i.jsx)(o.td,{children:(0,i.jsx)(o.code,{children:"ui.hidePromotedShows"})}),(0,i.jsx)(o.td,{children:"boolean"}),(0,i.jsx)(o.td,{children:(0,i.jsx)(o.code,{children:"false"})}),(0,i.jsx)(o.td,{children:"Hides the promoted shows carousel inside the player."})]}),(0,i.jsxs)(o.tr,{children:[(0,i.jsx)(o.td,{children:(0,i.jsx)(o.code,{children:"ui.hidePlaybackRateButton"})}),(0,i.jsx)(o.td,{children:"boolean"}),(0,i.jsx)(o.td,{children:(0,i.jsx)(o.code,{children:"false"})}),(0,i.jsx)(o.td,{children:"Hides the playback speed button."})]})]})]}),"\n",(0,i.jsxs)(o.blockquote,{children:["\n",(0,i.jsxs)(o.p,{children:["\u2139\ufe0f All ",(0,i.jsx)(o.code,{children:"ui.*"})," flags must be nested under the ",(0,i.jsx)(o.code,{children:"ui"})," object, not placed at the top level of ",(0,i.jsx)(o.code,{children:"configuration"}),". See ",(0,i.jsx)(o.a,{href:"/docs/live/mobile-sdk-integration-react-native/configuration-and-functions",children:"Configuration and Functions"})," for the full UI configuration reference."]}),"\n"]}),"\n",(0,i.jsx)(o.h2,{id:"hiding-all-optional-ui-elements",children:"Hiding All Optional UI Elements"}),"\n",(0,i.jsx)(o.p,{children:"To present a minimal player with no optional UI elements:"}),"\n",(0,i.jsx)(o.pre,{children:(0,i.jsx)(o.code,{className:"language-tsx",children:"configuration={{\n buttons: {\n dismiss: 'none',\n },\n ui: {\n hideEmojiOverlay: true,\n hideActionBar: true,\n hideShareButton: true,\n hideShareFromTimestampButton: true,\n hideClosedCaptionsButton: true,\n hideVolumeButton: true,\n hidePlaybackRateButton: true,\n hidePromotedShows: true,\n },\n}}\n"})}),"\n",(0,i.jsxs)(o.blockquote,{children:["\n",(0,i.jsxs)(o.p,{children:["\u26a0\ufe0f Remember to memoize the ",(0,i.jsx)(o.code,{children:"configuration"})," prop. Passing a new object literal on every render rebuilds the player. See ",(0,i.jsx)(o.a,{href:"/docs/live/mobile-sdk-integration-react-native/setup",children:"Setup"}),"."]}),"\n"]})]})}function c(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,i.jsx)(o,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},28453(e,o,t){t.d(o,{R:()=>s,x:()=>d});var n=t(96540);const i={},r=n.createContext(i);function s(e){const o=n.useContext(r);return n.useMemo(function(){return"function"==typeof e?e(o):{...o,...e}},[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(r.Provider,{value:o},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.