ハイライト
Apple はアクションを使用して、アプリ内の一般的なタスクをショートカット、Siri、および提案に公開し、ユーザーがアプリが開いていないときに繰り返し可能、組み合わせ可能な、音声トリガーのアクションを完了できるようにします。
主要内容
通常、開発者は最初にアプリケーション インターフェイスを設計します。ボタンをどこに配置するか、フォームに入力する方法、リストをフィルタリングする方法はすべて、アプリを開いた後に行われます。
ショートカットは別のシナリオにも対応します。ユーザーはアプリを開いていないものの、タスクを完了したいと考えています。たとえば、カレンダー アプリケーションは、イベントの追加、今日のイベントの検索、イベントの変更を行うことができます。これらのタスクをアクションに変換すると、ユーザーはタスクをショートカットにドラッグし、他のアプリケーションのアクションと組み合わせることができます。
このセッションで Apple が示した核となる判断は非常に単純明快です。アクションは便利で、モジュール式で、複数の対話方法をサポートし、明確に表現され、見つけやすくなければなりません。
アプリケーション関数からコンポーザブルアクションまで
以前は、アプリの機能は通常、アプリ内でのみ利用可能でした。ユーザーが複数のアプリケーションを一緒に接続したい場合は、異なるインターフェイス間で切り替える必要があります。次の会議のカレンダーを確認し、メッセージ アプリを開いて参加者に遅刻することを通知するのが典型的な例です。
アクションは、このプロセスを構成可能な構成要素に分割します。カレンダーでは「次のイベントの取得」が可能で、メッセージ アプリでは「メッセージの送信」が可能です。ユーザーはショートカットでそれらを接続し、新しい自動プロセスを取得します。
アプリを開いてからその場でタスクを完了するまで
適切なアクションでは、バックグラウンドでタスクを完了しようとする必要があります。リマインダーを追加するとき、タイトルが指定されている場合、アクションはユーザーをリマインダー アプリに引き戻すのではなく、リマインダーを直接追加する必要があります。
情報が不十分な場合、アクションはまずフォローアップの質問をする必要があります。 「何を思い出してほしいですか?」のように。ターゲット自体が完全なインターフェイスを必要とする場合にのみ、アプリを開きます。
単一の大きなアクションから複数の小さなアクションへ
スピーチ内の To Do アプリケーションの例は非常に重要です。 「古いタスクをクリーンアップする」アクションは機能しますが、曖昧で再利用は困難です。 「1 週間前に作成されたタスクの取得」と「タスクのアーカイブ」に分割した後、ユーザーは同じ一連のアクションでより多くのことを実行できるようになります。
「タスクの取得」の出力は、「結果の表示」または「ファイルの保存」に接続することもできます。アクションがリマインダー、添付ファイル、親タスク、期日、メモ、リストを出力する場合、ショートカット作成者は引き続きこれらのフィールドをグループ化できます。
詳細
1. 便利なアクション: アプリ内で実際のタスクを完了します
(04:01) Apple の「有用」の定義は非常に具体的です。アクションは、ユーザーが本来アプリケーション内で実行するタスクを実行し、アプリケーションを積極的に開かずに可能な限り完全に完了します。
リマインダーの「リマインダーを追加」はパラメータで実行できるためアクションとして適しています。それに対して、「Custom Watch Face」には視覚的なプレビューとコントロールが多数含まれており、そのインタラクションは非常に没入型であり、ショートカット アクションにするのには適していません。アクションとしては、すでに設定されているダイヤル間の切り替えの方が適しています。
action: Add New Reminder
parameters:
title:
required: true
prompt: "What do you want to be reminded about?"
list:
required: false
dueDate:
required: false
runBehavior:
opensApp: false
asksFollowUpQuestionWhenMissingRequiredValue: true
キーポイント:
actionアプリケーションの一般的な機能からショートカットに公開されるタスクを表します。parameters「ショートカット」アクション・カードの構成可能なフィールドに対応します。title.required: trueリマインダーを追加するにはタイトルを知っている必要があることを示します。prompt実行時に情報が不十分な場合にユーザーに提示される質問です。opensApp: falseスピーチのアドバイスに対応して、直接終了できる場合はアプリを開かないでください。asksFollowUpQuestionWhenMissingRequiredValue「タイトルが抜けている場合にユーザーに問い合わせる」という処理方法に対応します。
2. モジュール式アクション: 1 つのアクションは 1 つのことだけを実行します
(08:21) このスピーチでは、2 つの To Do アプリケーションを使用してモジュール設計を比較しています。 Dog Do’s は「古いタスクをクリーンアップする」という動きをします。 Shortcats は「タスクの取得」と「アーカイブ」に分かれています。
分解すると、アクション自体がより明確になり、組み合わせる方法が増えます。 Siri は、アーカイブするタスクのプレビューを表示し、実行前に確認を求めることもできます。
shortcut: Clean up old tasks
actions:
- action: Get Tasks
parameters:
createdBefore: "one week ago"
output: Cat Tasks
outputProperties:
- Reminder
- Attachment
- Parent task
- Deadline
- Notes
- List
- action: Archive Task
parameters:
tasks: Cat Tasks
キーポイント:
Get Tasks検索タスクのみを担当し、アーカイブは担当しません。createdBeforeこれは編集可能なパラメータであり、ユーザーは 1 週間から 2 週間に変更できます。output: Cat Tasks最初のアクションの結果を後続のアクションに渡すことができることを示します。outputPropertiesスピーチで言及された出力属性に対応して、ショートカット作成者はメモ、添付ファイル、期限などのフィールドを抽出できます。Archive Task引き継ぐCat Tasks、アーカイブのみを担当します。
3. マルチモーダル アクション: 同じパラメーターをクリック、音声、エディターに適用する必要があります
(13:15) ショートカット アクションは 3 つのシナリオで表示されます。ユーザーがクリックして実行する場合、Siri の音声を介して実行する場合、およびショートカット エディターで設定する場合です。
同じ期限パラメータは iPhone でカレンダー ピッカーをポップアップ表示できますが、HomePod では Siri によってのみ要求できます。 Apple の提案は、「期限はいつですか?」などの質問としてプロンプトを書くことです。 「Deadline:」とだけ書くとUI上では問題ありませんが、読み上げると不自然になってしまいます。
parameter: deadline
type: Date
prompt: "When is the deadline?"
configurationUI:
input: text
recognizedValuePreview: true
resolutionUI:
compactPicker: calendar
siriResolution:
spokenPrompt: "When is the deadline?"
キーポイント:
parameterアクションの入力フィールドを表します。type: Dateシステム パラメータ タイプを使用すると、システムはさまざまなデバイスの日付を処理できます。prompt質問として書かれており、クリックして実行し、Siri の音声を実行することで再利用できます。configurationUIユーザーがエディターでアクションを設定するときに表示されるインターフェイスに対応します。recognizedValuePreview音声に日付テキストを入力した後に表示される認識プロンプトに対応します。siriResolution.spokenPrompt同じ質問が Siri によって読み上げられることを示します。
4. 動的列挙: カスタム パラメーターの視覚的な選択を提供します。
(15:39) システム パラメータのタイプは、アプリケーション内のすべてのエンティティをカバーしているとは限りません。 AirPods または Bluetooth スピーカーを表示するための再生先の設定アクションの場合、システムには共通の「再生デバイス」パラメーターがないため、アクションはカスタム パラメーターと付随する UI を定義します。
Apple では、このタイプの UI を動的列挙と呼んでいます。これは、値を選択するアクションを構成するときと、値を解析するアクションを実行するときの 2 回表示されます。
parameter: catTask
type: CustomEntity
configuration:
dynamicEnumeration: TaskListForEditor
purpose: "pick a task while building the shortcut"
resolution:
dynamicEnumeration: TaskListForRuntime
purpose: "pick a task when the shortcut runs"
キーポイント:
catTaskこれはアプリケーション自体のエンティティであり、システムの組み込み型を正確に表現することはできません。type: CustomEntityこれがカスタム パラメータ タイプであることを示します。configuration.dynamicEnumerationショートカットコマンド編集時に表示されるタスクリストに相当します。resolution.dynamicEnumerationSiri が「どのタスクをアーカイブしますか?」と尋ねたときに表示されるリストに相当します。- 両方のリストには同じパラメータが入力されるため、データ ソースは一貫している必要があります。
5. パラメーターの概要: アクションをエディターで文章のように読み取れるようにします
(18:44) iOS 15 では、パラメーターの概要に重点を置いて、ショートカット エディターのアクションの外観が再設計されています。アプリ名が削除され、アプリのアイコンがアクティビティ内に配置され、アクション自体はタスクを明確に説明するための概要に依存します。
Apple が与えたルールは非常に詳細です。要約は動詞で始まり、ピリオドなしで 1 つの文で書かれます。最も重要なパラメータのみが入力されます。オプションのパラメータはオプション UI に入力されます。アクションのタイトルには要約と同じ動詞を使用し、できるだけ多くの単語を共有するように努めてください。
actionTitle: "Start Breathing"
parameterSummary: "Start breathing for ${duration}"
requiredParameters:
duration:
defaultValue: "15 minutes"
optionalParameters:
music:
location: Options UI
prompts:
duration: "How long do you want to breathe?"
キーポイント:
actionTitleユーザーがアクションをすばやく見つけられるようにするために、アクション リストで使用されます。parameterSummaryアクション カードで使用する場合は、動詞で始める必要があります。${duration}これは概要の中核となるパラメータです。ユーザーは呼吸時間を一目で確認できます。defaultValue講義のデフォルト値である 15 分に相当し、実行時の質問を減らすことができます。music.location: Options UI音楽の再生はオプションであり、概要に含めるべきではないことを示します。prompts.duration「Ask Each Time」を使用する場合でも、ユーザーに質問できる質問があることを確認します。
6. スニペット: リスクの高い動きの前に結果のプレビューを表示する
(16:33) スニペット (スニペット インターフェイス) は、アクションの実行中に表示される小さなインターフェイスです。スターバックスのコーヒー注文アクションでは、注文する前に注文プレビューが表示されます。
Apple は、削除や注文などの永続的なアクションについては、完了の前後で異なるスニペットを表示することをお勧めします。完了前のインターフェイスは、ユーザーが何が起こるかを理解するのに役立ちます。
action: Order Coffee
snippets:
beforeCompletion:
title: "Review Order"
shows:
- drink
- size
- pickupStore
afterCompletion:
title: "Order Placed"
shows:
- orderStatus
- pickupTime
requiresConfirmation: true
キーポイント:
beforeCompletion対応するアクションが完了する前のプレビュー インターフェイス。drink、size、pickupStoreユーザーが自分の行動の結果を認識できるようにします。afterCompletion対応するアクションが完了した後のステータス フィードバック。requiresConfirmationアーカイブ、削除、注文などユーザー確認が必要な処理に対応。
7. 共有して Siri に追加: ユーザーに直接話せるフレーズを提供します
(20:37) iOS 15 と macOS Monterey では、ショートカットの共有方法が改善されました。開発者は、独自のアクションを含む複数ステップのショートカットを Web サイト、ソーシャル メディア、またはアプリケーションのヘルプ ページに配置できます。
「Siriに追加」も変更されました。開発者が推奨する呼び出しフレーズを提供すると、ユーザーがショートカットをクリックするとすぐにショートカットが追加され、実行するための指示が表示されます。提案されたフレーズがない場合、システムはユーザーに自分で名前を付けるよう求め、追加プロセスが長くなります。
sharedShortcut:
title: "Order My Usual Coffee"
runDestinations:
- iPhone
- Mac
- HomePod
suggestedInvocationPhrase: "Order my usual coffee"
distribution:
- website
- socialMedia
- inAppHelp
キーポイント:
title共有ショートカットの名前です。runDestinationsダウンロード UI に表示される実行可能な場所に対応します。suggestedInvocationPhraseはユーザーが Siri に対して話すフレーズです。distribution講演で提案された 3 つの出版ポータル (Web サイト、ソーシャル メディア、アプリケーション ヘルプ) に対応します。
重要ポイント
1. タスク管理アプリに「Today Cleanup」ショートカット コマンドを付与します。
- 操作方法: 「期限切れのタスクの取得」と「タスクのアーカイブ」の 2 つのアクションが提供され、ユーザーは 1 週間前のタスクをワンクリックでクリアできます。
- 実行する価値がある理由: プレゼンテーションでは、モジュール式アクションを組み合わせたり、個別に使用したりできることが強調されました。 get タスクの出力を表示したり、ファイルに保存したりすることもできます。
- 開始方法: まず、Get アクションを定義し、タスク リストとメモ、期限、添付ファイルなどの属性を出力します。次に、アーカイブ アクションを定義し、タスク リストを受け取り、実行前に確認スニペットを表示します。
2. 習慣追跡アプリで「一度記録」アクションを実行します。
- やるべきこと: ユーザーは、「飲み水を記録する」と言うか、ウィジェットをクリックすることで習慣のチェックインを完了できます。
- 実行する価値がある理由: チェックインは、頻度が高く、繰り返し可能で、没入感の低いタスクであり、スピーチで役立つアクションの基準を満たしています。
- 開始方法: 習慣名をパラメータにします。習慣名が見つからない場合は、質問プロンプトを使用して尋ねます。実行後、この記録の結果を返します。
3. ポッドキャスト アプリで「最新のエピソードを再生」アクションを実行します。
- 操作方法: 「番組を取得する」、「1 つのエピソードを再生する」、「後で聴くために保存する」の 3 つのアクションが提供されます。
- 実行する価値がある理由: ユーザーは、小さなアクションに分割した後、ポッドキャスト アクションをカレンダー、通勤、集中モードと組み合わせることができます。
- 開始方法: 「番組を取得」で番組名、最新エピソード、再生時間、コメントを出力します。再生ターゲットは動的列挙を使用して番組リストを表示します。
4. 食品注文アプリで「よく注文する食品を再購入」アクションを使用する
- 内容: ユーザーは Siri 経由でコーヒーやランチを注文し、実行前に注文のプレビューを確認します。
- 実行する価値がある理由: スピーチでは、注文は永続的なアクションであり、完了前に結果を説明するためにスニペットを示すのが適切であると述べられました。
- 開始方法: 料理、仕様、店舗をパラメータにします。不足しているパラメータに対する質問プロンプトを作成します。 beforeCompletion スニペットを表示し、注文する前に確認を求めます。
5. ファイル管理アプリの「添付ファイルを iCloud に保存」アクションを実行します。
- 対処方法: アプリケーション エンティティから添付ファイルを抽出し、システムの「ファイルの保存」アクションに保存します。
- 実行する価値がある理由: 講演では、出力属性を逆アセンブルしてラベルを付ける必要があり、ショートカット作成者は組み込みアクションを使用してアプリケーションの外部に新しいプロセスを作成できることが強調されました。
- 開始方法: Get アクションで Attachment プロパティを出力します。変数エディターがプロパティを参照できることを確認してください。共有ショートカットを使用して、Save File に接続する方法を示します。
関連セッション
- インテントを寄付してアプリのプレゼンスを拡大する — Siri、フォーカス、ショートカット、スマート スタックでアプリの機能を推奨するためにインテントを寄付する方法を学びます。
- macOS のショートカットについて — macOS のショートカットと、Catalyst アプリと AppKit アプリがアクションを公開する方法を紹介します。
- ウィジェットにインテリジェンスを追加 - 提案シナリオに直接関連する、ウィジェットの提案とスマート回転について説明します。
- 通信と時間に敏感な通知を送信する — SiriKit インテントを通信および通知のシナリオで使用する方法を示します。
コメント
GitHub Issues · utterances