Skip to content

Files

Latest commit

21cea28 · Jan 10, 2025

History

History

youbora

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Oct 11, 2024
Oct 26, 2023
Jun 16, 2023
Jun 11, 2024
Jun 16, 2023
Jan 10, 2025
Oct 26, 2023
Jun 16, 2023
Jan 10, 2025
Jan 10, 2025
Jun 16, 2023
Jun 11, 2024
Jun 11, 2024

THEOplayer React-Native Youbora Connector

A Youbora analytics connector for @theoplayer/react-native.

Installation

npm install @theoplayer/react-native-analytics-youbora

Usage

Configuring the connector

Create the connector by providing the THEOplayer instance, the appId provided by Youbora, and instanceName that describes the player or site, and an optional set of YouboraOptions:

import { useYoubora } from '@theoplayer/react-native-analytics-youbora';

const youboraOptions: youbora.Options = {
  'accountCode': 'powerdev',
  // 'username': 'dev',
  // 'parse.HLS': true,
  // 'parse.CDNNode': true,
  // 'network.ip': '1.1.1.1',
  // 'network.isp': 'MyISP',
  // 'network.connectionType': 'dialup',
  // 'content.transactionCode': 'myTransCode',
  // 'content.resource': 'mysrc.mp4',
  'content.isLive': true,
  'content.title': 'My Title',
  // 'content.title2': 'My Title2',
  // 'content.duration': 100,
  // 'content.fps': '100',
  // 'content.bitrate': 1000000,
  // 'content.throughput': 8000000,
  // 'content.rendition': 'My Rendition',
  // 'content.cdn': 'NICE264',
  // 'content.metadata': {
  //   custom_info: 'info'
  // },
  // 'ad.metadata': {
  //   custom_info: 'info'
  // },
  // 'extraparam.1': 'myExtraParam1',
  // 'extraparam.2': 'myExtraParam2'
};

const App = () => {
  const [youbora, initYoubora] = useYoubora(youboraOptions, youbora.Log.Level.DEBUG);

  const onPlayerReady = (player: THEOplayer) => {
    // Initialize Youbora connector
    initYoubora(player);
  }

  return (<THEOplayerView config={playerConfig} onPlayerReady={onPlayerReady}/>);
}

Configuration on iOS

As outlined on the native iOS connector's git repository, the app's Podfile still needs to include a dependency to the THEOplayerSDK by adding a pre-install script:

  pre_install do |installer|
    ios_youbora_target = installer.pod_targets.find { |t| t.name == "YouboraTHEOPlayerAdapter-iOS" }
    ios_theoplayer_target = installer.pod_targets.find { |t| t.name == "THEOplayerSDK-core-iOS"}
    puts "Adding THEOplayerSDK-core-iOS as a target dependency to YouboraTHEOPlayerAdapter-iOS"
    ios_youbora_target.dependent_targets <<= ios_theoplayer_target
    tvos_youbora_target = installer.pod_targets.find { |t| t.name == "YouboraTHEOPlayerAdapter-tvOS"}
    tvos_theoplayer_target = installer.pod_targets.find { |t| t.name == "THEOplayerSDK-core-tvOS"}
    puts "Adding THEOplayerSDK-core-tvOS as a target dependency to YouboraTHEOPlayerAdapter-tvOS"
    tvos_youbora_target.dependent_targets <<= tvos_theoplayer_target
  end

If you are using a single target project this reduces to

  pre_install do |installer|
    youbora_target = installer.pod_targets.find { |t| t.name == "YouboraTHEOPlayerAdapter" }
    theoplayer_target = installer.pod_targets.find { |t| t.name == "THEOplayerSDK-core"}
    puts "Adding THEOplayerSDK-core as a target dependency to YouboraTHEOPlayerAdapter"
    youbora_target.dependent_targets <<= theoplayer_target
  end