Umbraco integration
Last Updated 2 years ago
It is possible to extend Umbraco oembed integration by creating a new provider that would accept Quickchannel oembed URLs. You would need to create two files and add them to the Umbraco installation.
First, create a Screen9EmbedProvider class that will accept Quickchannel oembed URLs:
using System.Collections.Generic;
using Umbraco.Cms.Core.Media.EmbedProviders;
using Umbraco.Cms.Core.Serialization;
namespace MyCustomUmbracoSolution
{
    public class Screen9EmbedProvider : EmbedProviderBase
    {
        public Screen9EmbedProvider(IJsonSerializer jsonSerializer) : base(jsonSerializer)
        {
        }
        public override string ApiEndpoint => "https://api.screen9.com/oembed";
        public override string[] UrlSchemeRegex => new string[]
        {
            @"console.screen9.com\/*",
            @"\w+\.screen9.tv\/*",
        };
        public override Dictionary<string, string> RequestParams => new Dictionary<string, string>();
        public override string GetMarkup(string url, int maxWidth = 0, int maxHeight = 0)
        {
            var requestUrl = base.GetEmbedProviderUrl(url, maxWidth, maxHeight);
            var oembed = base.GetJsonResponse<OEmbedResponse>(requestUrl);
            return oembed.GetHtml();
        }
    }
} Then, create RegisterEmbedProvidersComposer class that will append Screen9EmbedProvider to the EmbedProvidersCollection:
using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.DependencyInjection;
namespace MyCustomUmbracoSolution
{
    public class RegisterEmbedProvidersComposer : IUserComposer
    {
        public void Compose(IUmbracoBuilder builder) => builder.OEmbedProviders().Append<Screen9EmbedProvider>();
    }
} Once this is completed, you can use the Embed icon in Rich Text Editor to add a new embed code:
Enter any of the allowed URLs (remember the video must be approved):
The video is rendered in the webpage:
