Transitioning from Legacy

Prev Next

Legacy documentation contains specifications and APIs which have been deprecated. You should always develop using the updated Firebolt® APIs first to ensure your app gets the most out of the X1 App Platform. However, the latest APIs may fail to return a valid value when a user's software is outdated. If an error returns due to the user's software version, then you can have your app call the equivalent deprecated API in its place. The list below contains the most recent updates, API updates, and the corresponding deprecated APIs which they replaced.

$badger to Firebolt®

The $badger documentation below contains information that only applies to hardware with software that has not yet been updated to support the newer Firebolt® APIs. While compatible with the updated software, these older deprecated APIs are generally less functional and should only be utilized if necessary.

This document is designed to help transition your app from $badger API to the upgraded Firebolt® API.

Authentication

Badger API

Badger Value

Firebolt® API

Firebolt® Value

$badger.gerAppAuth().get()

N/A

$badger.gerAppAuth().upsert(userid, data)

N/A

$badger.gerAppAuth().delete()

N/A

$badger.platformAuth().getToken()

Authentication.token(TokenType.PLATFORM).value

$badger.platformAuth().refreshToken()

Authentication.token(TokenType.PLATFORM)

type: "platform"

$badger.platformAuth().getXact()

Authentication.token(TokenType.DEVICE).value

type: "device"

$badger.platformAuth().getOat()

Authentication.token(TokenType.OAT).value

type: "oat"

$badger.getBearerToken()

Authentication.token(TokenType.CIMA).value

type: "billing",
options.client: "..."

Lifecycle

Badger API

Badger Value

Firebolt® API

Firebolt® Value

$badger.shutdown()

Lifecycle.close(CloseReason.USER_EXIT)

reason: "..."

$badger.dismissLoadingScreen()

Lifecycle.ready()

$badger.active()

N/A

$badger.config()

N/A

$badger.deeplink(uri)

xre deeplink

Discovery.launch(appId, intent)

appId: "appId",
```intent.action: "home

$badger.deeplinkToCompanyPage(companyId)

companyId

Discovery.launch('urn:firebolt:apps:main', sectionIntent)

appId: "urn:firebolt:apps:main",
intent.action: "section",
intent.data.sectionName: "company:<companyId>"

$badger.dial().getDeviceId()

SecondScreen.device()

type: "dial"

$badger.dial().getDeviceName()

SecondScreen.friendlyName()

type: "dial"

$badger.dial().getPayload()

Parameters.config().launchRequest

$badger.dial().onLaunch()

SecondScreen.listen('LaunchRequest')

listen: true

Discovery & Metrics

Badger API

Badger Value

Firebolt® API

Firebolt® Value

$badger.accountLink().appLaunch(entitlements)

action: "appLaunch", subscriptionEntitlements:

Discovery.entitlements(entitlements)

entitlements: [see spec]

$badger.accountLink().compareAppSettings(settings)

N/A

$badger.accountLink().createLaunchPadTile(tile)

launchPadTile: stuff

Discovery.watchNext(tile)

title: "...",
identifiers.assetId: "...",
identifiers.entityId: "...",
identifiers.seriesId: "...",
identifiers.seasonId: "...",
expires: "ISO 8601 Date/Time",
images: see spec

$badger.accountLink().deleteLaunchPadTile(tile)

launchPadTile: empty

Discovery.clearWatchNext()

$badger.accountLink().mediaEvent(event)

contentId, completed, progress, progressUnits

Discovery.watched(event.contentId, Date.now(), progress, event.completed)

entityId: "...",
progress: number,
completed: boolean,
watchedOn: "ISO 8601 Date/Time"

$badger.accountLink().signIn(entitlements)

action: "signIn",
subscriptionEntitlements:

Metrics.app.signIn()

type: "app",
event: "signIn",
params: ...

$badger.accountLink().signOut()

action: "signout"

Metrics.app.signOut()

type: "app",
event: "signOut",
params: ...

$badger.accountLink().updateEntitlements(entitlements)

action: "entitlementsUpdate"

Discovery.entitlements(entitlements)

entitlements: [see spec]

$badger.errorMetricsHandler(message, visible, code, args)

eventType: "error",
errMsg, errVisible, errCode, evt

Metrics.error(message, code, args)

type: "app",
event: "error",
params.message: "...",
params.code: "...",
```params.visible: true

$badger.launchCompletedMetricsHandler()

N/A

$badger.pageViewMetricsHandler(page, args)

eventType: "pageView",
page: "page",
evt: ...

Metrics.page.view(page, args)

type: "page",
event: "view",
params.xxx // additional params, just like 'evt'

$badger.appActionMetricsHandler("CONTENT_STATE_CHANGE", "STARTED")

eventType: "appAction",
action: "CONTENT_STATE_CHANGED",
evt.contentState: "STARTED"

Metrics.content.start(data)

type: "content",
event: "start",
params.xxx // additional params, just like 'evt'

$badger.appActionMetricsHandler("CONTENT_STATE_CHANGE", "STOPPED")

eventType: "appAction",
action: "CONTENT_STATE_CHANGED",
evt.contentState: "STOPPED"

Metrics.content.stop(data)

type: "content",
event: "stop",
params.xxx // additional params, just like 'evt'

$badger.userActionMetricsHandler(action, data)

eventType: "userAction",
action: "...",
evt

Metrics.user.click(args)

type: "user",
event: "...",
params.xxx // additional params, just like 'evt'

Metrics.user.input(args)

Metrics.user.event(action, data)

$badger.metricsHandler(action, data)

eventType: "...",
action: "...",
evt

Metrics.xxx

type: "...",
event: "...",
params: ...

$badger.userErrorMetricsHandler(msg, visible, code, args)

eventType: "userError",
errMsg, errVisible, errCode, evt

Metrics.user.error(message, code, args)

type: "user",
event: "error",
params.message: "...",
params.code: "...",
``` params.visible: true

$badger.analytics.error()

Metrics.app.error(message, code, args)

$badger.analytics.event()

Metrics.app.event(message, args)

$badger.analytics.pageView()

Metrics.page.view(page, args)

$badger.analytics.userAction()

See userActionMetricsHandler

$badger.analytics.userError()

See userErrorMetricsHandler

Events, Settings, & Notifications

Badger API

Badger Value

Firebolt® API

Firebolt® Value

$badger.subscribeToSettings(CLOSED_CAPTIONING)

keys:"ShowClosedCapture"

Accessibility.listen('closedCaptionsSettingsChanged')

listen: true

$badger.subscribeToSettings(VOICE_GUIDANCE)

keys: "TextToSpeechEnabled2"

Accessibility.listen('voiceGuidanceSettingsChanged')

listen: true

$badger.subscribeToSettings(RECOMMENDATIONS_BASED_ON_HISTORY)

keys: "DisplayPersonalizedRecommendations"

Discovery.listen('policyChanged')

listen: true

$badger.subscribeToSettings(RECENTLY_VIEW_CONTENT)

keys: "RememberWatchedPrograms"

Discovery.listen('policyChanged')

listen: true

$badger.subscribeToSettings(SHARE_WATCH_HISTORY_STATUS)

keys: "ShareWatchHistoryStatus"

Discovery.listen('policyChanged')

listen: true

$badger.subscribeToSettings(DEVICE_FRIENDLY_NAME)

keys: "friendly_name"

Device.listen('deviceNameChanged')

listen: true

Broadcast a deeplink

Discovery.listen('navigateTo')

listen: true

$badger.subscribeToSettings(POWER_SAVING)

$badger.userPreferences().closedCaptioning()

keys: "CC_STATE"

Accessibility.closedCaptions()

$badger.userPreferences().voiceGuidance()

keys: "VOICE_GUIDANCE_STATE"

Accessibility.voiceGuidance()

$badger.networkConnectivity()

Device.network().type

$badger.userPreferences().setting(CLOSED_CAPTIONING)

keys: "CC_STATE"

Accessibility.closedCaptions()

$badger.userPreferences().setting(VOICE_GUIDANCE)

keys: "VOICE_GUIDANCE_STATE"

Accessibility.voiceGuidance()

$badger.userPreferences().setting(RECOMMENDATIONS_BASED_ON_HISTORY)

keys: "DisplayPersonalizedRecommendations"

Discovery.policy().enableRecommendations

$badger.userPreferences().setting(RECENTLY_VIEW_CONTENT)

keys: "RememberWatchedPrograms"

Discovery.policy().rememberWatchedPrograms

$badger.userPreferences().setting(SHARE_WATCH_HISTORY_STATUS)

keys: "ShareWatchHistoryStatus"

Discovery.policy().shareWatchHistory

$badger.userPreferences().setting(DEVICE_FRIENDLY_NAME)

keys: "friendly_name"

Device.name()

Info

Badger API

Firebolt® API

$badger.info().zipcode

Localization.postalCode()

$badger.info().timezone

N/A

$badger.info().timeZone

N/A

$badger.info().receiverId

N/A

$badger.info().deviceHash

Device.uid()

$badger.info().householdId

Device.household()

$badger.info().privacySettings.lmt

Advertising.policy().limitAdTracking

$badger.info().privacySettings.us_privacy

Advertising.policy().usPrivacy

$badger.deviceCapabilities().deviceType

Device.type()

$badger.deviceCapabilities().nativeDimensions

Device.screenResolution()

$badger.deviceCapabilities().webBrowser.browserType

Device.platform()

$badger.deviceCapabilities().settopHdrSupport & tvHdrSupport

Device.hdr()

$badger.deviceCapabilities().settopHDCPVersion & tvHDCPVersion

Device.hdcp()

$badger.deviceCapabilities().videoDimensions

Device.videoResolution()

User Prompts

Badger API

Badger Value

Firebolt® API

Firebolt® Value

$badger.userPreferences().promptSignInEmail()

prefillType: "signIn",
headerText: "..."

Keyboard.email('signIn')

type: "signIn",
message: "..."

$badger.userPreferences().promptSignUpEmail()

prefillType: "signUp",
headerText: "..."

Keyboard.email('signUp')

type: "signUp",
message: "..."

$badger.verifyPin()

content_pin: "..."

N/A

$badger.verifyPurchasePin()

purchase_pin: "..."

N/A

$badger.showContentPinOverlay()

pin_type: "content_pin"

Profile.verifyContentRating()

None

$badger.showPurchasePinOverlay()

pin_type: "purchase_pin"

Profile.verifyPurchase()

None

Ad Platform

Badger API

Firebolt® API

$badger.adPlatform().initObject()

Advertising.config()

$badger.adPlatform().advertisingId()

Advertising.advertisingId()

$badger.adPlatform().limitAdTracking()

Advertising.policy().limitAdTracking

$badger.adPlatform().deviceAdAttributes()

Advertising.deviceAttributes()

$badger.adPlatform().appStoreId()

Advertising.appBundleId()

Other

Badger API

Badger Value

Firebolt® API

Firebolt® Value

$badger.callback(pid, success, json)

Handled by Firebolt Transport Layer