In some countries there are local television channels that need to be made available to people living within a particular locality.
Operators are required to:
Make local channels available to local residents
Ensure that local channels from other areas are not available
Visibility of local channels
Unlike national channels, you should hide local channels that the user is not licensed to watch.
This table summarizes how you should work with local channels in the frontend.
Type of channel
Display in UI for authenticated user
Display in UI for guest user
National channel
Local channel for the area that the user lives in
If licensed
Local channel for the area that the user does not live in
Amino implementation
Amino models local channels by including a boolean flag that indicates whether the channel is local or not.
Users are licensed by the customer to view particular local channels; Amino does not store information about where the user lives and cannot determine what channels they need to be able to view.
Therefore, when displaying a list of local channels to a user, the client should:
Obtain a general list of channels and find the ones which are local by examining the flag
Filter out local channels from this list that the user does not have a license for
Use case examples
Determining what channels to display to an authenticated user
We use the "isUserAuthorized" field to indicate whether the user has license to the channel or not.
We use the "isLocal" field to indicate whether a channel is local channel.
Therefore, in order to get a list of the local channels the client should:
Call the GET method on the index of user specific channels
Iterate through the list and remove any channel match both of the following condition:
Have a value of "true" in the "isLocal" field
Have a value of "false" in the "isUserAuthorized" field
There may be a further requirement from the customer that local channels appear with a sequential lcn. Amino does not guarantee that local channels will be ordered as such in the API output and the client may need to perform further processing in order to meet customer requirements.