YouTube 和 Netflix 如何向 Roku 推送内容?

How does YouTube and Netflix push content to Roku?

使用移动应用程序,可以 "Cast" 媒体从您的移动应用程序到同一网络上的 Roku 设备。我不明白所使用的机制允许远程设备(例如 YouTube Android 应用程序)导致选定的 Roku 打开 YouTube 频道并开始播放视频。 我查看了 Roku 开发人员文档,但无法找到在用户不选择频道的情况下启动频道的任何方式。

这是一种方法:

  1. 使用外部控制 API 发现 Roku 设备。
  2. 使用 query/apps 命令以确保安装了您定位的应用程序 and/or获取app id。您还可以使用 install/appID 如果您知道应用程序 ID 并且发现该应用程序是 未安装。
  3. 使用 launch/appID 打开应用程序并深入 link 到特定内容。 url 应该 看起来像这样
    http://<device-ip>:8060/launch/<your-app-id>?contentId=<movie-id-in-your-api>&mediaType=movie.
    快速注意,install/appID 命令也会在之后启动应用程序 它的安装方式与 launch/appID 命令相同。
  4. 在您的 Roku 应用中处理深层 link。

示例:

sub main(args as dynamic)
  contentID = args.contentID
  mediaType = args.mediaType
  if contentID <> invalid and mediaType <> invalid
    // Either store the parameters for later use in the app, or make the 
    // requests to your content API right here.
  end if
end sub

有关深层链接的更多详细信息here

添加到 Alejandro Cotilla answer, You can check some simple implementation of the External Control API here on this repo