如何使用 PlayReady 服务器 SDK 的版本测试 PlayReady 客户端

PlayReady 测试网站包含一组许可证服务,这些服务使用服务器 SDK 的当前版本和旧版本。 这些许可证服务可用于帮助测试客户端兼容性。 例如,将客户端更新到 PK 4.0 时,可以针对以前的服务版本测试客户端以查看兼容性。

下表中列出了版本控制的服务。

SDK 版本 许可证服务 URL
SDK 1.52 http (s) ://test.playready.microsoft.com/directtaps/svc/pr152/rightsmanager.asmx
SDK 2.0 http (s) ://test.playready.microsoft.com/directtaps/svc/pr20/rightsmanager.asmx
SDK 2.1 http (s) ://test.playready.microsoft.com/directtaps/svc/pr21/rightsmanager.asmx
SDK 2.9 http (s) ://test.playready.microsoft.com/directtaps/svc/pr29/rightsmanager.asmx
SDK 3.0 http (s) ://test.playready.microsoft.com/directtaps/svc/pr30/rightsmanager.asmx
SDK 4.0 http (s) ://test.playready.microsoft.com/service/rightsmanager.asmx

这些版本控制服务可以利用 PlayReady 测试站点中列出的参数来测试特定策略。 PlayReady 公共测试服务器现在支持多种语法来提供这些参数,以便测试人员可以选择最适合其情况的语法。

http (s) ://test.playready.microsoft.com/service/rightsmanager.asmx 站点始终用于最新的最新服务器。

建议的语法是 查询字符串语法。 其他语法包括 自定义数据 JSON 语法Base 64 JSON 语法旧语法

请注意,并非所有策略参数都适用于每个服务版本。 例如,MaxResDecode 仅适用于使用服务器 SDK 3.0 或更高版本开发的服务。

为了帮助进行功能测试,以下测试可用于不同的版本控制许可证服务,以涵盖四种独特的许可方案。 这些方案演示如何在测试中使用查询字符串语法。 但是,如果上述语法更适合你的情况,则可以使用上面链接的任何其他语法。

方案 1:非持久性许可证

非持久性许可证是流式处理服务使用的最常见许可证方案。

测试步骤:

  1. 使用 PlayReady 测试网站上记录的 KeySeed 打包内容。 对于此测试,打包时可以使用任何 KeyID。

  2. 使用以下 URL 从客户端测试许可证请求:

    {版本控制许可证服务 URL}不带任何参数

    例如,https://test.playready.microsoft.com/service/rightsmanager.asmx

  3. 验证是否返回许可证并成功播放。

方案 2:永久性许可证

永久性许可证通常由启用脱机播放内容的服务使用。

测试步骤:

  1. 使用 PlayReady 测试网站上记录的 KeySeed 打包内容。 对于此测试,打包时可以使用任何 KeyID。

  2. 使用以下 URL 从客户端测试许可证请求:

    {版本控制许可证服务 URL}?cfg= (persist:true,firstexp:60)

    此参数将指示许可证服务返回在首次播放后 60 秒过期的许可证。 请注意,必须显式调用 persist:true 才能接收永久性许可证。

    例如: https://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(persist:true,firstexp:60)

  3. 验证是否返回许可证并成功播放。 添加或更改测试站点中列出的基于时间的策略参数,以测试其他持久性方案。

方案 3:链接的许可证

某些订阅服务使用根绑定许可证,最常用于音乐。 使用根绑定方案,多个叶许可证可以绑定到单个根许可证。 当根许可证过期时,除非重新颁发新的根,否则叶许可证不再可用。

测试步骤:

  1. 使用以下 KeyID 打包 PlayReady 测试站点上记录的 KeySeed 内容:

    Base64: uPeXHrR3K0icGCpYMBGsZw==

  2. 使用以下 URL 测试客户端以请求许可证:

    {版本控制许可证服务 URL}?cfg= (rootid:uPeXHrR3K0icGCpYMBGsZw==,kid:header) , (isroot:true,kid:uPeXHrR3K0icGCpYMBGsZw==)

    例如: https://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(rootid:uPeXHrR3K0icGCpYMBGsZw==,kid:header) , (isroot:true,kid:uPeXHrR3K0icGCpYMBGsZw==)

  3. 验证是否返回许可证并成功播放。 在此方案中,来自服务的单个响应应包含两个许可证。 其中一个是根许可证,另一个是叶许可证。 许可证应在向客户端颁发五分钟后过期。

方案 4:域绑定许可证

域不如服务通常使用。 PlayReady 域为服务管理帐户中的活动设备数以及帐户中的设备脱机共享内容和许可证提供了一种方法。

  1. 使用以下 KeyID 打包 PlayReady 测试站点上记录的 KeySeed 内容:

    Base64: m1HAERIu8E+uABCZY4TX2g==

    测试客户端将使用以下 URL 加入域并获取许可证:

    {versioned license service url}?cfg= (accountid:A/uHOj7F+UaM+Jlny2obFA==)

    例如,https://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(accountid:A/uHOj7F+UaM+Jlny2obFA==)

  2. 让测试客户端生成并发送 JoinDomain 质询,并验证服务响应中是否存在域证书。

  3. 让测试客户端使用相同的 URL(包括 accountID)向服务发送许可证请求。

  4. 验证是否返回许可证并成功播放。 还可以将 LeaveDomain 请求发送到许可证服务以重置方案。

更多信息

有关详细信息,请访问 PlayReady 网站和 https://www.microsoft.com/playready/ PlayReady 测试站点。https://test.playready.microsoft.com/