「视频」如何通过 Siri 播放视频?且看优酷技术接入实践( 三 )
由于壳工程里面主要就是 Siri Extension 的添加 , 所以这里主要说下公共 Bundle 和播放页 Bundle 这两个 Bundle 的流程 。公共 Bundle 处理:这个 Bundle 非常重要 , 它链接了壳工程和播放页Bundle 。这里主要涉及到两个问题:一是开屏广告的处理 。二是不要将过于复杂的业务放在其中;其次为降低跨团队的沟通成本 , 只在 Bundle 留一个入口 , 将所有的业务逻辑放到播放页的 Bundle 中去处理 。针对第一点的处理:当 Siri 唤起主包时 , 有可能是存在广告的 , 此时不能立即跳转到播放页进行播放 , 需要等广告结束之后再跳转 。这与唤端的逻辑是类似的 。针对第二点处理:通过一个单例类 , 创建这个单例类的时候将所需要的数据传递进去 。并且公共 Bundle 也没有直接依赖播放页的 Bundle , 而是通过 NSClassFromString + performSelector 的方式进行调用 。
下面是简单的代码示例:
-( BOOL)application:( UIApplication*)application continueUserActivity:( NSUserActivity*)userActivity restorationHandler:( void(^)( NSArray* _Nullable))restorationHandler {
{
// 判断 NSUserActivity 的类型 , 确认是 Siri Extension 传过来的
if(siriManagerClass && [siriManagerClass respondsToSelector:selctor]) {
[siriManagerClass performSelector:selctor withObject:userActivity];
}
returnYES;
}
} 播放页 Bundle 处理:这个 bundle 主要是调用搜索 SDK 将剧集名称转化成对的播放视频链接 , 最后跳转到播放页进行视频播放 , 主要是搜索参数的拼接和跳转逻辑 。
SiriKit 接入后的界面展示:
文章图片
文章图片
总结:接入 SiriKit 所踩的坑
【「视频」如何通过 Siri 播放视频?且看优酷技术接入实践】目前 , 优酷 App 已经接入 SiriKit, 已在 App Store 上架 。如果你的 App 也希望接入 , 以下这些防“坑”指南希望能帮到你 。确保 Siri 的 bundle ID 正确;创建 Siri Extension 注意 target 所支持的版本号 , 默认是当前 Xcode 所支持的最高版本号;提交审核时候注意 Siri Extension 的 Support Intents 的class Name 里面只包含 Intent 的类型 , 不然会报以下错误:因为涉及到证书和 Profile 的变化一定要提前修改好相关配置 。并提示各个业务线进行行相关修改和测试;
推荐阅读
- 平台■在线视频平台大数据杀熟成惯例 买VIP就活该被宰?
- 『智八斗』就这么被苹果欺负?余承东如何反击
- 「博主」百万美食博主拍出稳定高质量的 vlog,竟只用了一款 5G 视频手机?
- 『』华为P40中招,这款神将仅一个月跳千元?1亿像素+8K视频+骁龙865
- Ubuntu ■如何在 Ubuntu 中添加多个时区 | Linux 中国
- 「腾讯」腾讯视频盈利难:2019年亏损30亿 盗墓题材连拍五年没水花
- 「便利店」便利仔便利店,如何看待真实的便利店市场?
- 「事情」史海峰:万字长文剖析技术人如何成长
- 「视频」视频错误标注“作品由华为手机拍摄”,华为致歉
- 『像素』荣耀潮流情报局:揭秘荣耀30系列预热视频背后的故事