記事

ドネートしたショートカットの削除

ドネートした情報をSiriから削除します。

概要

Appがドネートしたショートカットに含まれる情報を、後にユーザーが削除した場合は、そのドネートした情報を削除する必要があります。例えば、ユーザーがメッセージAppを使ってある連絡先にメッセージを送信したとします。Appは、その連絡先の情報を含む「メッセージを送信」というショートカットをドネートしました。その後、ユーザーはAppからこの連絡先を削除しました。この場合Appは、この連絡先情報を含めてドネートした情報を削除する必要があります。

ユーザーは、Appからデータを削除したら、そのデータは完全になくなるものだと考えます。これは、Appからデータを削除するだけでなく、システムがそのデータを持っているならシステムからもデータを削除することを意味します。プライバシーと信頼を常に保つために、Appは、このユーザーとの暗黙の合意を尊重することが重要です。

また、Appでそのアクションをサポートしなくなった場合なども、Appがドネートした情報を削除しなければなりません。一般に、ユーザーに適したものでなくなった場合はいつでも、ドネートを削除する必要があります。

インタラクションのドネートを削除する

インタラクションオブジェクトを使用してドネートした情報を削除するには、deleteクラスメソッドのいずれかをINInteraction(英語)に適用します(システムからのインタラクションの削除(英語)を参照)。特定のドネートを削除するには、delete(with:completion:)(英語)を使用し、削除する各インタラクションについてidentifier(英語)文字列のリストを渡します。または、delete(with:completion:)(英語)を使用し、2つ以上のインタラクションのグループに使用されるgroupIdentifier(英語)文字列を渡します。

ユーザーがAppからサインアウトした場合など、Appがドネートしたすべてのインタラクションを削除する必要がある場合は、deleteAll(completion:)(英語)を使用します。

ユーザーアクティビティのドネートを削除する

NSUserActivity(英語)を使用してドネートした情報を削除する方法は、ユーザーアクティビティをどう設定したかによって異なります。

持続アクティビティ

ユーザーのアクティビティのisEligibleForPrediction(英語)プロパティがtrue(英語)に設定されており、persistentIdentifier(英語)プロパティにアクティビティを特定する一意の文字列が設定されている場合、以下のように対応します。

  • 個々のアクティビティを削除するには、deleteSavedUserActivities(withPersistentIdentifiers:completionHandler:)(英語)を使用し、永続的識別子のリストを渡します。この方法により、同じ永続的識別子を持つ、Core Spotlightで保存されているユーザーアクティビティも削除されます。

  • ユーザーがAppからサインアウトした場合など、Appに保存されているすべてのアクティビティを削除するには、deleteAllSavedUserActivities(completionHandler:)(英語)を使用します。この方法により、Appで作成されCore Spotlightによって保存されているすべてのユーザーアクティビティも削除されます。

Spotlightでインデックス化されたアクティビティ

ユーザーアクティビティがSpotlightでインデックス化され、relatedUniqueIdentifier(英語)プロパティが、アクティビティを識別する一意の文字列に設定されている場合

Spotlightアイテムを削除すると、システムによって、関連するユーザーアクティビティおよびドネートが削除されます。

Spotlightインデックスについて詳しくは、Core Spotlight(英語)を参照してください。

関連項目

ショートカット

SiriショートカットとショートカットAppによるユーザー操作の追加

カスタムのIntentおよびパラメータを追加して、ユーザーがSiriやショートカットAppを使ってよりすばやく効率的に操作できるようにします。

ショートカットのドネート(donate、提供)

ユーザーがAppで実行したアクションを行うショートカットを、Siriにドネートします。

Soup Chef:ショートカットによる迅速なApp操作(英語)

Appのアクションを行うショートカットを提供することによって、ユーザーがSiriでAppを簡単に使えるようにします。

ショートカットの管理(英語)

ユーザーがSiriにショートカットを追加できるようにします。また、Appからユーザーにショートカットを提案します。

関連するショートカット(英語)

Apple WatchのSiriの文字盤にショートカットを表示します。

enum INShortcut(英語)

システムがユーザーに提案したり、ユーザーがSiriに追加したりできる、Appで利用可能なアクションです。

class INObject(英語)

カスタムのIntentパラメータを表すオブジェクト。