EmbetOverlay properties

Props and ref methods for EmbetOverlay.

Concept: Initialization

The @livelike/embet-rn package hosts the overlay in a WebView, loads @livelike/embet from unpkg, and bridges messages to React Native.

Component props

PropTypeRequiredDescription
clientIdstringYesClient ID provided by emBET
customIdstringYesYour event or stream ID
accessTokenstringNoReturning user access token
sdkVersionstringNoPinned Web SDK version on unpkg (default latest; pin e.g. 1.4.0 in production)
segmentationEmbetProfileDataNoSegmentation passed to embet.init()
segmentationEnabledbooleanNoEnable segmentation targeting in the Web SDK (default true)
htmlUrlstringNoHTTPS URL of your bridge HTML. Omit to use the bundled page from @livelike/embet-rn. The page must load bridge.umd.min.js and call EmbetBridge.init() — recipe.
styleobjectNoReact Native styles on the WebView container (layout, flex, dimensions)
onInitialized(profile) => voidNoWeb SDK finished init; persist profile.accessToken for new users
onError(error) => voidNoSDK or WebView errors
onCustomIdChange(customId) => voidNoEvent ID changed
onSdkLoading(version) => voidNoWeb SDK script started loading
onSdkLoaded(version) => voidNoWeb SDK script loaded
onEvent(event) => voidNoOverlay events — see Event manager and Event manager (feature)
onPlaceBet(payload) => Promise<result>SportsbookCalled when the user places a bet in the WebView. Required for embedded betslip; omit when configureBetSlip uses mode: 'DEEPLINK'. See Betslip.

Imperative API (EmbetOverlayRef)

Attach a ref and call methods after onInitialized:

import { useRef } from 'react';
import { EmbetOverlay, type EmbetOverlayRef } from '@livelike/embet-rn';

const overlayRef = useRef<EmbetOverlayRef>(null);

// After onInitialized:
overlayRef.current?.updateOdds(markets);
overlayRef.current?.updateProfileData({ country: 'AT' });
overlayRef.current?.configureBetSlip({
  currency: '€',
  currencyDisplay: 'suffix',
  decimalSign: ',',
  maxAmount: 1000,
  mode: 'DEEPLINK', // OTT only — omit for embedded sportsbook
});
overlayRef.current?.configureResize({
  enabled: true,
  hostElement: 'body',
});
MethodDescription
updateOdds(data)Push market/outcome data — Odds
updateProfileData(data)Update segmentation on the profile — Segmentation
configureBetSlip(config)Maps to embet.betSlipConfig (currency, mode, etc.). Does not include onPlaceBet — use the onPlaceBet prop. Betslip · feature.
configureResize(config)Same behavior as Web embet.resizeConfig — Layout and resizing

Hooks

For state outside the overlay:

import { useEmbet, useEmbetProfile } from '@livelike/embet-rn';

useEmbet exposes init state, profile, and setCustomId / setAccessToken. Prefer EmbetOverlay for the standard integration.