Skip to content
English - United States
  • There are no suggestions because the search field is empty.

Customizing the bridge.json file

Background

The starter kit includes a special file called bridge.json. This file is available at the root level. In the default Starter kit, this file can be found at the following location:

/public/bridge-conf/1.0/bridge.json

The purpose of bridge.json file is to establish a link between Global Service ID (GSID) and the corresponding application that is to be run on that service. In addition, the bridge.json file also allows a link to be established between various applications and their unique schedules.


In 1.9 release of the framework, an additional section called “ServiceInfo” has been introduced in Bridge.json file. This provides additional information to the receiver. The information provided in this block is used to capture correct data metrices for the relevant service.

 

For the purpose of further explanation, a copy of default bridge.json file is shown below:

 
 
{
    "connection": "bband",
    "bridge": {
        "tag:yottamedialabs.com,2022:globalServiceID/2": {
            "bbandappList": "/london/appsList.json",
            "appDefault": {
				"appName": "field-test",
				"properties": {}
			},
            "serviceInfo": {
                "broadcaster": "Yotta",
                "network": "Run3TV",
                "stationDMACode": 999,
                "callSign": "RYML-2"
            }
        },
        "tag:yottamedialabs.com,2022:globalServiceID/3": {
            "bcastappList": "/london/appsList.json",
            "bcastappSchedule": "/london/Station-1/schedule/appSchedule.json",
            "appDefault": {
				"appName": "cta-ba",
				"properties": {}
			},
            "serviceInfo": {
                "broadcaster": "Yotta",
                "network": "Run3TV",
                "stationDMACode": 999,
                "callSign": "RYML-3"
            }
        },
        "tag:yottamedialabs.com,2022:globalServiceID/4": {
            "bbandappList": "/london/appsList.json",
            "bbandappSchedule": "/london/Station-2/schedule/appSchedule-250222.json",
            "appDefault": {
				"appName": "trigger-2",
				"properties": {}
			},
            "serviceInfo": {
                "broadcaster": "Yotta",
                "network": "Run3TV",
                "stationDMACode": 999,
                "callSign": "RYML-4"
            }
        },
        "tag:yottamedialabs.com,2022:globalServiceID/5": {
            "bbandappList": "/london/appsList.json",
            "appDefault": {
				"appName": "leadgen-cta",
				"properties": {}
			},
            "serviceInfo": {
                "broadcaster": "Yotta",
                "network": "Run3TV",
                "stationDMACode": 999,
                "callSign": "RYML-5"
            }
        },
        "tag:yottamedialabs.com,2022:globalServiceID/6": {
            "bbandappList": "/london/appsList.json",
            "appDefault": {
				"appName": "dai-google-pre",
				"properties": {}
			},
            "serviceInfo": {
                "broadcaster": "Yotta",
                "network": "Run3TV",
                "stationDMACode": 999,
                "callSign": "RYML-6"
            }
        },
        "tag:yottamedialabs.com,2022:globalServiceID/7": {
            "bbandappList": "/london/appsList.json",
            "appDefault": {
				"appName": "lottie",
				"properties": {}
			},
            "serviceInfo": {
                "broadcaster": "Yotta",
                "network": "Run3TV",
                "stationDMACode": 999,
                "callSign": "RYML-7"
            }
        }
    }
}

 

 

Explanation of individual parameters

Let us now look at various properties defined and used in bridge.json file.

"connection"
This property currently acts as a label. It is intended that at some stage in the future, it may be used to distinguish between applications delivered via NRT channel vs applications delivered via Broadband channel.

 

"tag:yottamedialabs.com,2022:globalServiceID/2"
The property represents the actual Global Service ID (GSID) for the broadcaster as per (Entertainment Identifier Registry) the EIDR code.

"bbandappList"
This property refers to the appsList.json file that defines all the application to be used in a particular market.

 

"appName"
This property defines the name of the application to be called by the framework.

 

"properties":
This property allows broadcaster to override any default properties of the given application. The default properties for all applications are usually defined in the appsList.json file.

 

"serviceInfo"
This block allows broadcasters to indicate correct settings for their service. This in turn ensures that correct usage data is captured for that service.

"broadcaster"
The property indicates the name of the broadcaster

"network"
The property indicates the name of the broadcast network

"stationDMACode"
This property indicates the correct DMA code for a given station

"callSign"
This property indicates the actual call sign used by the broadcaster for a particular service

 

NOTE: It is broadcaster’s responsibility to ensure that correct values are entered for all the parameters in "serviceInfo" block.

 

"bbandappList" vs "bcastappList" (see line 5 and line 18 in the above example code)


It should be noted that applications can be delivered via both NRT and broadband channels. For this reason, the lines referring to appsList.json can use two different properties i.e. "bbandappList" OR "bcastappList".


The current implementation gives priority to "bbandappList" property. This means that the framework first evaluates the property "bbandappList". It this mechanism fails and the URL is inaccessible, the framework then uses the property "bcastappList" as a fall-back option.

 

 

NOTE: If a syntax error is detected in bridge.json file, the framework automatically triggers an exception error.