从 Sonos 收藏夹中删除无法访问的项目

Removing unreachable items from Sonos Favorites

我们正在为我们的应用构建 Sonos 集成,它允许您从 public 图书馆中查看有声读物。由于应用程序的性质,当内容归还给图书馆时,内容从用户的书架上消失是很常见的。

我们还想利用 Sonos 收藏夹 ("My Sonos"),以便用户可以轻松地从 Sonos 控制器应用程序的主屏幕访问他们签出的有声读物。但是,当有声读物从用户的书架上移除时,它会保留在他们的 Sonos 收藏架上,尽管无法播放。

一旦用户的 Sonos 收藏夹不再可用,是否有任何方法可以将其从用户的收藏夹中删除?

Is there any way to remove items from a user's Sonos Favorites once it is no longer available to them?

很遗憾,没有。一旦听众将收藏夹添加到 My Sonos,它就会保留在那里,直到他们将其删除。为获得最佳体验,您应该对临时内容使用 isEphemeral 标签。听众将无法将此内容保存到收藏夹,但它会在内容过期时消除任何混淆。有关详细信息,请参阅 Content on Sonos听众在我的 Sonos 部分保存和播放收藏夹。

编辑添加:

isEphemeral元素在WSDL中被定义为abstractMediaobject的一个属性,即[=14]的parent =] 和 mediaMetadata,因此它适用于所有内容,包括容器、曲目和有声读物。来自 WSDL:

    <xs:sequence>
        <xs:element ref="tns:id"/>
        <xs:element ref="tns:itemType"/>
        <xs:element ref="tns:semanticType" minOccurs="0"/>
        <xs:element name="displayType" type="xs:string" minOccurs="0"/>
        <xs:element name="title" type="xs:string"/>

        <!-- .... snip ....-->

        <!-- is this short lived, if so do not allow adding to Sonos Favorites or alarms-->
        <xs:element name="isEphemeral" type="xs:boolean" minOccurs="0"/>

        <!-- .... snip ....-->

    </xs:sequence>
</xs:complexType>

<isEphemeral>true</isEphemeral> 添加到有声读物列表的 getMetadata 响应中的 mediaCollection 以将有声读物标记为临时。这会禁用 Sonos 应用程序中的“添加到我的 Sonos”和“添加到 Sonos 播放列表”选项。如果听众选择这些选项,Sonos 应用程序会显示一条消息,指出“此内容不可用的功能。”