我计划在我的 Android 应用程序中安装 YouTube 播放器,并找到了两种替代方案:框架API https://developers.google.com/youtube/iframe_api_reference或与YouTube Android 播放器 API https://developers.google.com/youtube/android/player/。到目前为止,我没有找到任何比较这两种方法的参考。
我对两者都是新手,所以我还没有很好的背景来比较两者。但到目前为止,这是我所知道的:
IFRAME
- 优点:不需要获取开发者/应用程序密钥来访问 API。
- 优点:不需要包含 YouTube 播放器 API jar(不会增加 APK 大小)
- 缺点:不必要的 webview 和 javascript 粘合代码来连接
YouTube 播放器 API:
- 优点:原生 Java,无需 javascript 粘合代码
- 缺点:设备上需要 YouTube 应用
- 缺点:需要获取开发者/应用程序密钥,并且需要将 API jar 包含到您的 APK 中。
使用两者时,我还不知道两者之间的任何性能/内存使用情况。我也不知道我们是否可以通过 API 与 IFRAME 获得更详细的事件。
我正在尝试评估这些,但想听听你们中是否有人对此有意见。
谢谢
2023 年 6 月 25 日更新:官方 YouTube Android 播放器 API 现已弃用。因此,您现在必须使用基于 IFrame 的解决方案,例如android-youtube-播放器 https://github.com/PierfrancescoSoffritti/android-youtube-player.
Here https://medium.com/@soffritti.pierfrancesco/how-to-play-youtube-videos-in-your-android-app-c40427215230您可以找到一些不使用 YouTube Player API 的原因。
总的来说,我想说:如果需要做基本的事情(例如使用 YouTubeBaseActivity/YouTubeStandalonePlayer),您可以安全地使用它。如果您需要使用 YouTubePlayerFragment,基于 WebView 的方法可能是更好的主意。
为什么您应该考虑不使用 YouTube 的官方库?
-
如果您担心稳定性:YouTube Android 播放器 API 并不是有史以来设计最好的 API。如果您需要使用,您可能会没事的
YouTubeBaseActivity/YouTubeStandalonePlayer,但您将遇到 YouTubePlayerFragment 的问题。
该库有一些非常古老的错误,this one https://issuetracker.google.com/issues/35172585是我遇到过的最重要的。在开发我的应用程序时,我不断遇到它,看到我的应用程序随机崩溃,显然没有任何原因。它使我的应用程序不稳定并且从未准备好投入生产。
据我所知,这个错误仍然存在。该库的新版本应该正在制作中,但尚未发布。
-
如果您不想受 Google Play 和 YouTube 应用的束缚:为了运行利用 YouTube Android Player API 的应用程序,设备需要安装 Google Play 和最新版本的 YouTube 应用程序。
在大多数情况下,这可能不是限制,因为您可能会通过 Google Play 分发您的应用程序。但我和遇到这个问题的人交谈过,也许你也关心这个问题。
-
如果您想更好地控制玩家的外观和行为:YouTube Android 播放器 API 不是开源的,因此您可以在 API 允许的范围内进行自定义。也许您想更改播放器的 UI 或编写一些特定于您的用例的自定义行为。官方图书馆很难做到这一点。
-
如果您不想在 Google Developers Console 中注册您的应用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)