ドキュメント

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

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

概要

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

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

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

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

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

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

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

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


持続アクティビティ

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

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

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


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

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

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

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

関連項目

ショートカット

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

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

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

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

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

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

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

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

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

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

enum INShortcut(英語)

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

class INObject(英語)

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