Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Siri ShortCut 调研(含Demo)

Siri ShortCut 调研(含Demo)

作者头像
用户2814378
发布于 2022-11-07 07:06:14
发布于 2022-11-07 07:06:14
1.1K00
代码可运行
举报
文章被收录于专栏:高科技宣传高科技宣传
运行总次数:0
代码可运行

Demo地址

一、iOS11

1.INIntent

Apple只对11个固定的领域支持Siri识别,每个领域对应不同的INIntent和INIntentHandler,以发送信息和支付为例,通过用户的语音大体判断服务领域以及INIntent。

服务领域

对应的INIntent

预测语音

发信息

INSendMessageIntent

包含“消息”的语句

支付

INSendPaymentIntent、INRequestPaymentIntent

包含“支付”的语句

通过“用<AppName>发送信息等”可调用第三方App执行相应功能,但前提是Siri可以识别出用户的意图(表格中的INIntent)

工作流程如下: 1)、 Siri完成语音识别语义分析; 2)、会根据你词汇中的关键词识别出属于上述11种领域中的哪一种; 3)、然后将结构化语音分析结果打包成一个某个领域的意图(INIntent); 4)、接着交给支持这个意图(INIntent)的第三方App处理(启动App处理或通过Intent Extentsion后台处理);

2.IntentHandler

根据上述识别出的不同的用户意图去编写不同的IntentHandler,处理用户的语音,做用户意图去做的事,IntentHandler需要遵循IntentHandling协议,IntentHandling协议分为三步: 1.Resolve阶段:处理用户语音输入,提取各个属性,参数。 2.Confirm阶段:确定用户输入的语音信息和意图是否完整,不完整的话发起第二次询问。 3.Handle阶段:执行用户的意图,并将处理结果展示给用户。

3.IntentsUI

遵循INUIHostedViewControlling协议,通过实现configureViewForParameters方法,根据不同的用户意图(INIntent)展示自定义的UI

二、iOS12 ShortCut

1.NSUserActivity

记录用户的操作,生成ShortCut,用户可以在设置->Siri->All ShortCuts中找到,可以匹配上语音,以后通过该语音调用用户的操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- (NSUserActivity *)createUserActivityWithTitle:(NSString *)title userInfo:(NSDictionary *)userInfo{
    NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType:kKBSiriUserActivityTypeIdentifier];
    userActivity.eligibleForSearch = YES;
    if (@available(iOS 12.0, *)) {
        //很重要,暴露ShortCut到设置中
        userActivity.eligibleForPrediction = YES;
    } else {
        // Fallback on earlier versions
    }
    userActivity.title = title;
    userActivity.userInfo = userInfo;
    return userActivity;
}

//在用户操作的ViewController中绑定该NSActivity即可
viewcontroller.userActivity = userActivity;

2.Intent

通过Intent也可以实现上述效果,生成ShortCut,该方法可以自定义UI,参照IntentsUI。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   //参数中的Intent就是开发者自定义的Intent,在用户的某个操作后初始化,并暴露到设置中的ShortCut中。
    INInteraction *interaction = [[INInteraction alloc] initWithIntent:intent response:response];
    //很重要,暴露ShortCut到设置中
    [interaction donateInteractionWithCompletion:^(NSError * _Nullable error) {
    
    }]

3.回调处理

部分操作可以在Siri Extension中完成,不需要启动App,如果某些业务需要启动App处理,需要在AppDelegate中处理回调,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
    //根据不同的INIntent类型做不同的处理
    if ([userActivity.activityType isEqualToString:@"INIntent类名"]) {
        
    }
}

4.添加到Siri按钮

iOS12提供了在App内直接将ShortCut和用户语音关联的功能。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        TestIntent *testIntent = [[TestIntent alloc] init];
        testIntent.content = @"App内Siri按钮生成的ShortCut";
        INUIAddVoiceShortcutButton *button = [[INUIAddVoiceShortcutButton alloc] initWithStyle:INUIAddVoiceShortcutButtonStyleWhiteOutline];
        INShortcut *shortCut = [[INShortcut alloc] initWithIntent:testIntent];
        button.delegate = self;
        button.shortcut = shortCut;
        button.translatesAutoresizingMaskIntoConstraints = NO;
        [self.addSiriView addSubview:button];
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
编辑精选文章
换一批
Siri自定义Intent以及处理
注意:1.Intent的命名,如果命名为A,编译之后,系统自动生成AIntent.h文件,import AIntent.h即可使用。
用户2814378
2022/11/07
1.4K0
Siri自定义Intent以及处理
十分钟接入iOS 12新特性——Siri Shortcuts
Xcode 10已经正式发布,开发者可以接入Siri Shortcuts的iOS 12新特性。 WWDC2018的Introduction to Siri Shortcuts Session介绍了Siri Shortcuts的使用和Swift接入,但没有Objective-C版本的demo。 于是新开此文,介绍如何快速用OC接入iOS 12新特性Siri Shortcuts。
落影
2018/10/08
2.2K0
十分钟接入iOS 12新特性——Siri Shortcuts
如何把小程序游戏运行到自有App中?(IOS篇)
我们团队算是 FinClip 的老用户了,年初就向官方提出了希望 FinClip 支持微信小游戏的建议。随着前段时间 “羊了个羊” 微信小游戏的爆火,官方也把小游戏支持提上了日程,近期官方开启了公测通道。我们用周末用小游戏进行了测试,记录分享一下测试情况。
海岛船长加西亚
2022/12/07
6680
苹果小程序App Clips技术解析和展望
北京时间2020年6月23日,苹果在一年一度的WWDC上正式宣布了苹果官方“小程序” App Clips。本文带你来了解App Clips,分析其优缺点,并对前景做展望。
nimomeng
2020/07/02
2.4K0
iOS14新特性探索之一:App Clips轻应用
        App Clips是苹果WWDC 2020所发布的iOS 14新特性中最具焦点的一项功能。一经曝光,就引发了互联网上针对其特性的各种讨论。有人说App Clips是苹果模仿微信退出的iOS平台的小程序;有人说它是轻量级的应用程序,为用户提供了简洁版的App体验;同样,对AppClips的评价也是众说纷纭,有人看好也有人看跌,有人觉得是新的平台也有人觉得非常鸡肋。
珲少
2020/07/03
2.7K0
iOS9系列专题二——全新的搜索功能api 原
        iOS9中为我们提供了许多新的api,搜索功能的加强无疑是其中比较显眼的一个。首先,我们先设想一下:如果在你的app中定义一种标识符,在siri和搜索中,可以用过这个标识符搜索到你的app,是不是很棒?不,这还差得远,你可以定义任意的数据,使其在搜索和siri中可以快速检索到,这样的搜索功能是不是非常酷?不,还有更cool的,你甚至可以在你的网站中添加一些标志,使apple的爬虫可以检索到,那样,即使用户没有安装你的app,也可以在搜索中获取到相应的信息,这太强大了,对吧。
珲少
2018/08/16
8310
iOS9系列专题二——全新的搜索功能api
                                                                            原
iOS9系列专题一——3D Touch 原
        在iphone6s问世之后,很多果粉都争先要体验3D Touch给用户带来的额外维度上的交互,这个设计之所以叫做3D Touch,其原理上是增加了一个压力的感触,通过区分轻按和重按来进行不同的用户交互。
珲少
2018/08/16
5910
iOS9系列专题一——3D Touch
                                                                            原
一篇文章汇总WWDC2016(图文详解)
作为iOS开发者,本人一直关注着这次WWDC大会,好多网友也通宵熬夜看完了WWDC2016,本人也不想花时间自己去写文章进行汇总。所以,网上找到一篇文章,总结的比较全面,不想花太多时间去翻看视频的同学看这篇文章就够了!本篇文章非原创作品,原文地址:http://news.sina.com.cn/s/wh/2016-06-14/doc-ifxszmaa1972072.shtml
VV木公子
2018/06/05
5.9K0
一篇文章汇总WWDC2016(图文详解)
超强Siri即将到来!苹果10篇重磅AI研究全总结,iOS 18关键一瞥
「Siri太笨,根本无法与ChatGPT竞争」,前苹果工程师John Burkey曾对Siri的评价如此不堪。
新智元
2024/05/14
2970
超强Siri即将到来!苹果10篇重磅AI研究全总结,iOS 18关键一瞥
iOS开发之集成iOS9中的Core Spotlight Framework搜索App的内容
Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotlight。集成Spotlight的App可以在Spotlight中搜索App的内容,并且通过内容打开相关页面。因为接到开发任务,老大说让在App中支持Spotlight, 于是又搞了搞苹果的官方文档。可以说,集成Spotlight不算复杂,官网上讲的也挺明白的,今天博客就通过一个Demo来集成一下Spotlight。   苹果官方有关Core
lizelu
2018/01/11
1.5K0
iOS开发之集成iOS9中的Core Spotlight Framework搜索App的内容
iOS 创建 Universal Links
When you support universal links, iOS users can tap a link to your website and get seamlessly redirected to your installed app without going through Safari. If your app isn’t installed, tapping a link to your website opens your website in Safari.
公众号iOS逆向
2021/08/25
1.1K0
iOS 创建 Universal Links
iOS 禁止使用H5加载核心功能的解决办法
iOS 审核规则的每次变动对于iOSer来说都是一次大的震荡,今天我们针对禁用H5加载核心功能给出一种解决办法。 众所周知iOS时可用通过URL Schemes来实现App跳转传值的,不过这种方式正在被逐渐废弃(当然了支付宝依然在用,但是微信支付已经启用了Universial Link)改投更加好用的Universial Link啦。
大话swift
2020/03/26
1.2K0
iOS 禁止使用H5加载核心功能的解决办法
【译】React Native URL 路由库
可以参考链接:https://developer.android.com/training/app-indexing/deep-linking.html
腾讯IVWEB团队
2020/06/28
1.2K0
探索App Intents:让你的应用与Siri无缝互动的新方式
苹果推出了一个新框架——App Intents,使开发者可以在iOS 18.2+、macOS 15.2+等平台上集成Siri和Apple Intelligence,实现对应用内容的读取和操作。
AI uTools
2024/11/11
6740
探索App Intents:让你的应用与Siri无缝互动的新方式
iOS10 SiriKit QQ适配详解
1. 概述 苹果在 iOS10 开放了 SiriKit 接口给第三方应用。目前,QQ已经率先适配了 Siri 的发消息和打电话功能。这意味着在 iOS10 中你可以直接告诉 Siri 让它帮你发QQ消息和打QQ电话了,听起来是不是很酷炫? 那么第三方应用使用 Siri 的体验究竟如何?哪些应用可以接入SiriKit?接入 SiriKit 又需要做哪些工作呢?这篇文章会为你一一解答这些疑惑。 图1 用Siri发QQ消息效果展示 2. SiriKit 简介 我们都知道 Siri 是 iphone 手机中的
腾讯Bugly
2018/03/23
2.3K1
Universal Link 前端部署采坑记
前言 文章会适当说一些如何开发iOS上的universal link,但类似的文章太多了一艘一大堆,每篇都介绍的挺清楚,因此也不是重点 本文更加会侧重从前端的角度,将整个universal link 部署应用到wap app中的一些策略和一些问题解决办法 其实整个Universal Link没啥难的,真正上线过Universal link的人这些应该都趟过一遍了,本文主要是我们team去应用Universal link的时候一些文档沉淀和记录 Schema VS Universal Link Deepli
顶级程序员
2018/04/26
3K0
Universal Link 前端部署采坑记
iOS 创建 Universal Links【修订】
When you support universal links, iOS users can tap a link to your website and get seamlessly redirected to your installed app without going through Safari. If your app isn’t installed, tapping a link to your website opens your website in Safari.
公众号iOS逆向
2021/08/25
9090
iOS 创建 Universal Links【修订】
探索 App Clips
在iOS14中苹果推出了很多新特性,其中就包含App Clips。App Clips类似微信的小程序,不需要显式的去App Store里下载,苹果会在对应的时机进行下载。App Clips可以在不打开主App的情况下,单独进行使用,交互操作和主App无异,例如登录、列表视图、支付等。
ios-lan
2020/10/14
1.9K0
iOS Universal link 入门指南
Universal Link是苹果在WWDC上提出的iOS9的新特性之一。此特性类似于深层链接,并能够方便地通过打开一个Https链接来直接启动您的客户端应用(手机有安装App)。对比起以往所使用的URL Scheme,这种新特性在实现web-app的无缝链接时能够提供极佳的用户体验。
ios-lan
2020/10/10
2K0
苹果若真想让Siri实现逆袭,至少会在WWDC上宣布这些功能
GAIR 今年夏天,雷锋网将在深圳举办一场盛况空前的“全球人工智能与机器人创新大会”(简称GAIR)。大会现场,谷歌,DeepMind,Uber,微软等巨头的人工智能实验室负责人将莅临深圳,向我们零距离展示国外人工智能震撼人心、撬动地球的核心所在。在此之前雷锋网将网罗全国顶尖的人工智能和机器人专家和各大公司的首席科学家,同这些国际大拿同台交流。如果你不想错过这个机会,请用邮件直戳我心,lizongren@leiphone.com 早在2010年,苹果就收购了英国的语音识别公司Siri,彼时人工智能的大潮还在
AI科技评论
2018/03/07
7030
苹果若真想让Siri实现逆袭,至少会在WWDC上宣布这些功能
相关推荐
Siri自定义Intent以及处理
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验