FYI, DirecTV's app does have deep links. But they're not in an easy to guess format, and satelite, internet and stream customers have different values, and the values for the RSNs vary from area to area as they have seperate entries for out of market national and hyperlocalized feeds.
The quickest way to find them is go to to open up the developers console on a web browser, go to the network tab, navigate to stream.directv.com/guide, look for a GET request to AllChannels and use the "copy as Curl" option to download the file and open it a json viewer. Look for the "resourceId" and "callSign" for each channel you want and use the following URI layout:
dtvnow://deeplink.directvnow.com/play/channel/{callSign}/{resourceId}
i.e. TBS for satellite customers:
dtvnow://deeplink.directvnow.com/play/channel/TBSHD/86528a42-ae4e-405c-8fae-c567c1ed70df
TBS for stream/internet customers
dtvnow://deeplink.directvnow.com/play/channel/TBSHD/ded1f9a7-a3e2-503d-7129-3e31e5257fae
This will also help you with any sports alternates that have the same channel number as the main feed. The "externalListingId" value has the gracenote stationId values used by DirecTV's EPG, which will help people find the correct listings for the hyperlocalized RSN feeds in the 600s.
Unfortuantely Directv is one of the apps where the deeplink doesn't work while it's already open, so you have to use that option to force close the app between channel switches