爱奇艺iOS深度实践 | SiriKit详解应用篇


前言


苹果全球开发者大会(Worldwide Developers Conference,下文简称WWDC)自1983年加州首次举办以来至今一直备受iOS 开发者关注,第一代 iOS 也从2007年一路走来,如今 iOS 系统的版本也已经到了两位数。这次 iOS 13 带来了新的对话式快捷指令、更深层次的自定和新媒体播放体验,让各项功能变得更加强大。WWDC2019 之后,爱奇艺对 Siri 进行了相关的技术研究和探索,本文重点讨论SiriKit Media Intents 和 Siri Suggestions,鉴于业界对此讨论也不并多,结合爱奇艺的场景上线了媒体播放意图、媒体搜索意图、Siri 建议、Siri 新媒体播放建议等功能,帮助用户更便捷的使用爱奇艺。

SiriKit

2016年 WWDC大会上苹果开放了 Siri 的 API,开发者们可以利用 SiriKit 将自己的服务提供给用户。SiriKit 负责处理用户通过 Siri 对 App 服务的请求,并定义了用户可以发出的请求类型,称为意图,使用域将相关的意图进行分组。例如,消息域具有发送消息,搜索消息以及将消息标记为已读或未读的意图。App 通过创建能与 Siri 通信的扩展来使用 SiriKit,使用时 App 无需处于运行状态。此扩展会对它能够处理的特定域和意图进行注册。比如,一个信息 App 可以注册支持信息的域,以及发送信息的意图,SiriKit 包含 Intents IntentsUI 框架,支持两种类型的扩展:

1. Intents app extension: 负责接收来自 SiriKit 的用户请求,并将其转换为 App 特定的操作。

2. Intents UI app extension: 支持自定义扩展程序的样式,但自定义视图控制器无法收到任何触摸事件。

SiriKit Media Intents

在 WWDC2019 上苹果介绍了新的媒体播放服务,并且给开发者开放更多的能力。爱奇艺也同步开始技术调研,并在 iOS 13 正式版发布前上线了对媒体播放意图的支持。Media domain 负责处理用户对媒体类服务的请求,支持媒体播放、添加媒体、搜索媒体、媒体偏好四种意图。借助 Media domain,用户无需启动 App 即可实现对音频媒体的播放和控制,这对音频类 App 非常有意义。对于视频,Siri 会帮用户启动 App 并在前台播放,同样简化了播放流程,提高使用体验。

爱奇艺媒体播放意图接入流程

1. Extension Target 下Supported Intents Class Name 添加 INPlayMediaIntent,Media Categories 选择适合 App 的选项,支持多选;

2. 需要在前台播放媒体时,App Target Info.plist NSUserActivityTypes 添加 Intent Class Name.

  • 在后台播放,App 收到的系统回调是 application:handleIntent:completionHandler:

  • 在前台播放,App 收到的系统回调是 

    application:continueUserActivity:restorationHandler

    需要在 Info.plist 中声明 App 支持的活动类型.

3. 提供

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值