首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sonos订阅事件

使用Sonos订阅事件
EN

Stack Overflow用户
提问于 2019-07-24 18:27:45
回答 2查看 562关注 0票数 1

我正在使用Sonos构建一个使用Swift的Sonos iPhone应用程序,但遇到了一个绊脚石。当有人使用不同的应用程序或硬件按钮时,我希望检测应用程序上的状态/卷/元数据何时发生变化。我认为,赞成各项活动是前进的方向。我已经复制了下面的参考链接。

  • 订阅-订阅组名称空间,以便在状态更改时接收事件,例如对卷或播放状态的更改。

https://developer.sonos.com/build/direct-control/connect/

如前所述,我向订阅路径发送一个HTTP,并得到200个ok响应,但不知道下一步该做什么。我一直在邮递员中使用Xcode和测试。回调url在开发人员站点上注册,并验证OAuth令牌。

任何帮助都将不胜感激。

谢谢,保罗

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-24 19:08:42

您必须承载一个服务才能接收事件。您的服务器应该满足所有这些要求:

  • 至少支持具有持久连接的HTTP1.1(“保持-活动”)。这对于维护Sonos和客户端之间的数据流非常重要。
  • 使用SSL/TLS v1.2支持安全HTTP。
  • 对于DNS名称有一个有效的、可信的CA签名的X.509证书。

您的事件服务还应该验证它接收到的每个事件的X事件签名。有关详细信息,请参阅Sonos门户上的订阅

控制集成的表单字段中输入回调URL。

当状态在您订阅的名称空间中更改时,您应该收到一个HTTP到您的回调URL。例如,如果订阅了组的groupVolume命名空间,则在组卷更改时应接收组卷事件。尝试更改Sonos应用程序中的组卷,并验证回调URL是否得到一个事件。

下面是文档中的一个示例组卷事件,在卷状态更改后发送:

代码语言:javascript
复制
    POST {YOUR_CALLBACK_BASE_URL} HTTP/1.1
    Content-Type: application/json
    Content-Length: 41
    X-Sonos-Household-Id: Sonos_1234567890
    X-Sonos-Event-Seq-Id: 1234
    X-Sonos-Event-Signature: 90192js8cjhvd7ebcjsfdfw
    X-Sonos-Namespace: groupVolume
    X-Sonos-Type: groupVolume
    X-Sonos-Target-Type: groupId
    X-Sonos-Target-Value: RINCON_00012345678001400:0
    {"volume":16,"muted":false,"fixed":false}
票数 2
EN

Stack Overflow用户

发布于 2022-11-10 12:21:05

我偶然发现了和你一样的问题。我已经托管了事件服务,我能够成功地接收来自Sonos的事件,但我不知道如何将它们重定向回应用程序。我希望你能给我指点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57189170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档