static registerScheme(scheme, plugin, priority, progressSupport = false) {
    goog.asserts.assert(
        priority == undefined || priority > 0, 'explicit priority must be > 0');
    priority =
        priority || shaka.net.NetworkingEngine.PluginPriority.APPLICATION;
    const existing = shaka.net.NetworkingEngine.schemes_.get(scheme);
    if (!existing || priority >= existing.priority) {
      shaka.net.NetworkingEngine.schemes_.set(scheme, {
        priority: priority,
        plugin: plugin,
        progressSupport: progressSupport,
      });
    }
  }
Registers a scheme plugin.  This plugin will handle all requests with the
given scheme.  If a plugin with the same scheme already exists, it is
replaced, unless the existing plugin is of higher priority.
If no priority is provided, this defaults to the highest priority of
APPLICATION.

@param {string} scheme
@param {shaka.extern.SchemePlugin} plugin
@param {number=} priority
@param {boolean=} progressSupport
@export