The proprietary project can be configured remotely using Firebase. All primitive parameters (strings, numbers, booleans, JSON) from the ApplicationConfiguration.json
file can be overridden.
Some parameters are mandatory and others are optional. All applications are provided with a default configuration, available even when the Firebase service could not be queried (e.g. if no network connection is initially available).
If a parameter is overridden in the Firebase console, its value will be used, otherwise the local value will be used instead. If you want to disable an optional parameter for which a local value is available, you must therefore define an override for it in the Firebase console, providing no value.
The remote configuration has a validity of 15 minutes (30 seconds when debugging and in nightly builds), and is applied when the application wakes up from the background.
If a remote configuration is found to be invalid (usually a mandatory parameter is missing), the application will ignore it and continue with the previous valid configuration.
appStoreProductIdentifier
(mandatory, number): Application product identifier on the AppStore.businessUnit
(mandatory, string): The identifier of the business unit.pageSize
(optional, number): The page size to use for media or show lists in general, 20 if not set.detailPageSize
(optional, number): The page size to use for media or show lists in detail page with load more capability, 40 if not set.voiceOverLanguageCode
(optional, string): The code of the language associated with the application. If set, this language is used when reading texts for accessibility purposes, otherwise the device language is used.userConsentDefaultLanguage
(optional , string): The default language for user consent. If omitted, the default language in user consent configuration is used.
betaTestingURL
(optional, string): The URL of the page where beta testers can register.feedbackURL
(optional, string): The URL of the feedback form.faqURL
(optional, string): The URL of the FAQs.dataProtectionURL
(optional, string): The URL of the data protection information page.impressumURL
(optional, string): The URL of the impressum page. If none is provided, the corresponding menu entry will not be displayed.identityWebserviceURL
(optional, string): The URL of the identity webservices.identityWebsiteURL
(optional, string): The URL of the identity web portal.userDataServiceURL
(optional, string): The URL of the service with which user data can be synchronized (history, preferences, playlists).middlewareURL
(mandatory, string): The URL of the Play application middleware.playURLs
(mandatory, JSON): A JSON dictionary describing all base URLs of the Play web portals, used when building sharing URLs. Key (string) is the identifier of the business unit, value (string) is the base URL of the Play web portal. ThebusinessUnit
property value MUST be in the keys.playServiceURL
(mandatory, string): The base URL of the Play web service.sourceCodeURL
(optional, string); The URL where the application source code can be found.termsAndConditionsURL
(optional, string): The URL of the terms and conditions page.whatsNewURL
(mandatory, string): The URL at which the update information can be retrieved.
supportEmailAddress
(optional, string): The email to send support information to.
sourceKey
(mandatory, string): The source identifier to send events to.siteName
(mandatory, string): The iOS and iPadOS site name to send events to.tvSiteName
(mandatory, string): The tvOS site name to send events to.
TV and radio channels are configured with corresponding JSON dictionaries:
tvChannels
(optional, JSON): A JSON array of JSON dictionaries describing TV channel configuration. Available common keys are listed below.radioChannels
(optional, JSON): A JSON array of JSON dictionaries describing radio channel configuration. Available common keys are listed below, with the additional following specific keys:homeSections
(optional, string, multiple): The sections to be displayed on the channel homepage. Refer to Audio homepage for available values. If omitted, the globalaudioHomeSections
setting is used instead (in which case this value is required).
satelliteRadioChannels
(optional, JSON): A JSON array of JSON dictionaries describing Swiss satellite radio channel configuration. Available common keys are listed below.
The keys common to both TV and radio channels JSON dictionaries are:
uid
(mandatory, string): The unique identifier of the channel.name
(mandatory, string): The channel name.resourceUid
(mandatory, string): Local unique identifier for referencing resources related to the channel.color
(optional, string): The channel primary hex color. Used as navigation bar background color. If omitted, gray.secondColor
(optional, string): The channel second hex color. Currently used for gradients. If omitted, same ascolor
.titleColor
(optional, string): Hex color of the text displayed on top of colored areas (should provide sufficient contrast withcolor
andsecondColor
). If omitted, white.hasDarkStatusBar
(optional, boolean):true
iff the status bar should be dark for this channel. If omitted,false
.songsViewStyle
(optional, string): The songs view style when added to the view. Never displayed if not set. Available values are:collapsed
: Collapsed when added to the view.expanded
: Expanded when added to the view.
showType
(optional, string): Whether the channel has content of type show or podcast. It will affect some section titles. If empty, the default value isshow
. Available values are:show
podcast
shareURL
(optional, string): The URL used to share the channel website.contentPageId
(optional, string) - BETA ONLY: The page identifier of the content page to use for the channel page. If omitted, the preconfigured page is used with the related sections for this channel.
The radio channel JSON dictionaries have one more key:
homepageHidden
(optional, boolean): Set totrue
iff a homepage does not have to be displayed for the radio channel. If omitted,false
.
topicColors
(optional, JSON): A JSON dictionary describing all topic colors. Key (string) is the topicurn
(the topic unique identifier), value (a JSON dictionary) has two properties:firstColor
(mandatory, string): The first topic gradient primary hex color. Used in background in topic and show pages.secondColor
(mandatory, string): The second topic gradient primary hex color. Used in background in topic and show pages.reduceBrightness
(optional, boolean): Set totrue
if the brightness of the colors should be reduced for contrast purpose. If omitted,false
.
predefinedShowPagePreferred
(optional, boolean): Set totrue
iff show pages need to be displayed with the predefined layout (ie: only one predefined section with available episodes). If omitted,false
.showLeadPreferred
(optional, boolean): Set totrue
iff show pages and show elements should display lead instead of description. If omitted,false
.
audioHomeSections
(optional, string, multiple): The sections to be displayed on the audio homepage of a radio channel, in the order they must appear.audioContentHomepagePreferred
(optional, boolean) - BETA ONLY: Set totrue
iff audio tab only needs one content homepage to be displayed and ignores radio channel homepages. If omitted,false
.
Feeds
radioAllShows
: All available shows. (audio/alphabeticalByChannel)radioLatest
: The latest audios. (audio/latestByChannel)radioLatestEpisodes
: The latest episodes. (audio/latestEpisodesByChannel)radioLatestVideos
: The latest videos. (video/latestByChannel)radioMostPopular
: The most popular audios. (audio/mostClickedByChannel)radioShowsAccess
: A-Z and By Date access buttons. (audio/alphabeticalByChannel + audio/episodesByDateAndChannel)
User data
radioFavoriteShows
: Radio shows added to the favorites. (Local + showList/byUrns)radioLatestFromFavorites
: The latest audios from the user favorite shows. (Local + mediaList/byUrns)radioResumePlayback
: Audios for which playback can be resumed. (Local + mediaList/byUrns)radioWatchLater
: Audios added to the Later list. (Local + mediaList/byUrns)
radioFeaturedHomeSectionHeaderHidden
(optional, boolean): If set totrue
, featured radio media lists will not display any header.
liveHomeSections
(optional, string, multiple): The sections to be displayed on the live homepage on iOS and iPadOS, in the order they must appear.tvLiveHomeSections
(optional, string, multiple): The sections to be displayed on the live homepage on tvOS, in the order they must appear.
Feeds
tvLive
: TV livestreams. (video/livestreams)radioLive
: Radio livestreams. (audio/livestreams)radioLiveSatellite
: Swiss Satellite radio livestreams. (audio/livestreams)tvLiveCenterScheduledLivestreams
: Sport livestreams (with result). (video/scheduledLivestreams/livecenter)tvLiveCenterScheduledLivestreamsAll
: Sport livestreams (all). (video/scheduledLivestreams/livecenter)tvLiveCenterEpisodes
: Past sport livestreams (with result). (video/scheduledLivestreams/livecenter)tvLiveCenterEpisodesAll
: Past sport livestreams (all). (video/scheduledLivestreams/livecenter)tvScheduledLivestreams
: Scheduled livestreams. (video/scheduledLivestreams)tvScheduledLivestreamsNews
: News scheduled livestreams. (video/scheduledLivestreams)tvScheduledLivestreamsSport
: Sport scheduled livestreams (without highlight segments). (video/scheduledLivestreams)tvScheduledLivestreamsSignLanguage
: Sign language livestreams. (video/scheduledLivestreams)
searchSettingsHidden
(optional, boolean): Set totrue
to hide support for search settings.searchSettingSubtitledHidden
(optional, boolean): Set totrue
to hide the subtitled option in the search settings.showsSearchHidden
(optional, boolean): Set totrue
to hide show search results.
endTolerance
(optional, number): Duration tolerance in seconds at the end of a media to consider it as finished and then subsequently not resume it from last position, but from the beginning. If empty, the default value is 0 seconds.endToleranceRatio
(optional, number): Percentage tolerance as a floating number at the end of a media to consider it as finished and then subsequently not resume it from last position, but from the beginning. If empty, the default value is 0.0.
continuousPlaybackPlayerViewTransitionDuration
(optional, number): Duration in seconds for continuous playback when the player view is displayed. If empty, continuous playback is disabled; if equal to 0, upcoming media playback starts immediately.continuousPlaybackForegroundTransitionDuration
(optional, number): Duration in seconds for continuous playback when the application runs in foreground and the player view is not displayed. If empty, continuous playback is disabled; if equal to 0, upcoming media playback starts immediately.continuousPlaybackBackgroundTransitionDuration
(optional, number): Duration in seconds for continuous playback when the application runs in background. If empty, continuous playback is disabled; if equal to 0, upcoming media playback starts immediately.
tvGuideUnavailable
(optional, boolean): If set totrue
, TV guide access is removed and replaced with the legacy by date access.tvGuideOtherBouquets
(optional, string, multiple): TV guide other bouquets to display below the main vendor bouquet. Available values:thirdparty
: Third party bouquet delivered for the vendor.rsi
: RSI vendor bouquet.rts
: RT vendor bouquet.srf
: SR vendor bouquet.
audioDescriptionAvailabilityHidden
(optional, boolean): Set totrue
to hide audio description availability setting.downloadsHintsHidden
(optional, boolean): If set totrue
, hints will not be displayed in lists for medias which can be downloaded.hiddenOnboardings
(optional, string, multiple): Identifier list of onboardings which must be hidden.historySynchronizationInterval
(optional, number): Duration in seconds for history synchronization. If omitted, defaults to 30 seconds. Miminum value is 10 seconds.minimumSocialViewCount
(optional, number): The threshold under which social view counts will not be displayed. If omitted, 0.posterImagesEnabled
(optional, boolean): If set totrue
, show poster images are displayed where appropriate.squareImagesEnabled
(optional, boolean): If set totrue
, show square images are displayed where appropriate.showsUnavailable
(optional, boolean): If set totrue
, all features related to shows are removed.subtitleAvailabilityHidden
(optional, boolean): Set totrue
to hide the subtitle availability setting.discoverySubtitleOptionLanguage
(optional, string): Set system subtitle language to this value once and at the beginning to help user discover that content is subtitled in that language.webFirstBadgeEnabled
(optional, boolean): Set totrue
to display the web first badge on media.