Umbraco integration
Last Updated 11 months 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: