Gizwits Siri Shortcut
由于 Cordova 目前不支持创建多个 Target 的 iOS 项目,添加 Siri Widget 的大概步骤如下:
- 先添加 iOS platform
- 添加所有依赖的 plugin,包括本插件
cordova-gizwits-siri-shortcut
- 手动添加 Intents Extension
Target 在 *.xcodeproj 中的排序是不确定的,Cordova 每次都是只拿排在第一的 Target 来操作 (主 App 的 Target 不一定排在第一位),导致 Cordova 操作了其他的 Target,使得项目报错。所以添加 Intents Extension 必需在完成其他操作后再进行。
一旦添加了 Intents Extension,就不能再更新插件或其他使用 Cordova 命令更新项目的操作。若要进行这些操作,请先移除 iOS 项目再进行,操作完后再重新添加 iOS。
手动添加 Siri Shortcut 指引
支持平台
插件添加/移除
cordova plugin add cordova-gizwits-siri-shortcut --variable GROUP_ID=group.xxxx
cordova plugin rm cordova-gizwits-siri-shortcut
接口使用说明
-
添加 Siri Shortcut addSiriShortcut
params = {"url": "", "version": "", "sceneId": "", "sceneName": "场景名称", "suggestedInvocationPhrase": "执行手动场景1", icon: ""};
cordova.plugins.gizSiriShortcut.addSiriShortcut(params, success, error);
手动场景执行命令请参考接口说明: http://app-demo1.lease.iotsdk.com/swagger-ui.html#!/2623423478app4525163211602233026223/executeUsingPOST
-
编辑 Siri Shortcut editSiriShortcut
params = {"sceneId": "", "UUID": ""};
cordova.plugins.gizSiriShortcut.editSiriShortcut(params, success, error);
-
Siri Shortcut 是否可用 isSiriShortcutEnabled
cordova.plugins.gizSiriShortcut.isSiriShortcutEnabled(func (isEnabled) {
}, error);
-
获取 Siri 授权状态 getSiriAuthorizationStatus
cordova.plugins.gizSiriShortcut.getSiriAuthorizationStatus(func (status) {
}, error);
-
请求 Siri 授权 requestSiriAuthorizationStatus
cordova.plugins.gizSiriShortcut.requestSiriAuthorizationStatus(func (status) {
}, error);
-
初始化 App Groups setupWithGroupId
请在 App 启动之后调用该方法初始化 App Groups
groupId = "group.com.gizwits.xb";
cordova.plugins.gizSiriShortcut.setupWithGroupId(groupId, success, error);
-
设置 Token setToken
cordova.plugins.gizSiriShortcut.setToken("your token", success, error);
-
获取 Token getToken
cordova.plugins.gizSiriShortcut.getToken(func (token) {
}, error);
-
获取 Siri Shortcut getSiriShortcut
sceneId = "";
cordova.plugins.gizSiriShortcut.getSiriShortcut(sceneId, func (sceneInfo) {
}, error);
-
获取所有 Siri Shortcut getAllSiriShortcut
cordova.plugins.gizSiriShortcut.getAllSiriShortcut(func (sceneInfoArray) {
}, error);
状态值表
授权状态值 | 描述 |
---|
0 | 未授权 Authorization status not determined |
1 | 功能不可用 Authorization status restricted |
2 | 拒绝授权 Authorization status denied |
3 | 已授权 Authorization status authorized |
4 | 未知状态 Authorization status unknown |