0

我正在构建一个具有视频播放器的 Android 和 iOS 应用程序,我正在为我的视频使用一个视频托管站点 (Wistia)。所有视频都受域限制,这意味着这些视频将在列出的域上播放。视频在网络应用程序中正常播放(因为我们允许为该域播放视频)但我无法在我的 Android/iOS 应用程序中播放这些视频。

注意:当我从视频中删除域限制时,我可以在我的应用程序中播放视频。

有人可以帮我找到我的 Android 应用程序的域吗?我应该在代码中哪里定义它?

以下是 Wistia 嵌入式代码:

<script src="https://fast.wistia.com/embed/medias/j4q2kxdfd4.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><span class="wistia_embed wistia_async_j4q2kxdfd4 popover=true popoverAnimateThumbnail=true" style="display:inline-block;height:84px;position:relative;width:150px">&nbsp;</span>

谢谢你。

4

1 回答 1

1

Wistia 是针对网站的——他们过去确实有一个 iOS 移动应用程序,但我相信这更多地针对联系人所有者,并且不再支持,无论哪种方式。

他们在文档中强调了这一点(在撰写本文时):

移动操作系统支持

大多数移动设备仅支持 HTML5 播放,这是 Wistia 对移动设备的默认设置。这包括 Android 手机和平板电脑(4.1 及更高版本),以及 iPhone 和 iPad 等 iOS 设备。

要将 Wistia 包含在应用程序中,我看到的 Wistia 推荐的最新方法是使用 WebView 和标准嵌入代码。这将允许您使用您设置的常用域限制。

域检查功能很可能使用 HTTPS 请求中的“来源”或“引荐来源”字段来确定正在使用嵌入代码的站点。它可能使用比这更复杂的机制,但我认为你如果是这种情况,将不得不直接联系 Wistia 并寻求支持。

假设是这种机制,您可以在浏览器检查器中查看请求标头。例如,获取一个使用 Wistia 的站点并查看请求,您将看到如下内容:在此处输入图像描述

我隐藏了确切的站点名称,但来源和引荐来源是托管视频的站点的同一个顶级域名。

移动应用程序上的网站将以相同的方式工作,但如果您在 Android 应用程序中使用 WebView,则需要自己设置字段,您可能需要进行试验,因为似乎有不同的方法,但这是一个很好的起点:https ://stackoverflow.com/a/5342527/334402

如果您将这些标头设置为包含在您的允许域集中的域并且视频仍然无法播放,那么我认为您需要直接联系 Wistia 支持。

于 2021-03-01T11:46:01.120 回答