概要
App Clipのユーザーが完全版アプリをインストールすると、完全版アプリがApp Clipに置き換わり、すべての呼び出しを代わりに受け取ることになります。そこで、App Clipを使い慣れたユーザーが完全版アプリを使い始めた場合に、優れたユーザー体験を提供することが重要です。
以下はその例です。
-
ユーザーがApp Clipを使用した際に入力した情報をアプリで表示する。
-
ダウンロードしたデータをアプリが利用できるようにする。
-
ユーザーがアカウントに再度ログインしないですむようにする。
App Clipと完全版アプリのデータ共有
App Clipはデータを共有コンテナに保存することで、完全版アプリがそのデータにアクセスすることができます。完全版アプリがApp Clipと置き換わった際、このデータにアクセスできるため、ポジティブなユーザー体験を提供できます。
共有コンテナにデータを保存するには
-
App Clipと完全版アプリの両方のターゲットにApp Groups機能を追加します。
-
両方のターゲットで、App Groups機能に同じアプリグループを追加します(例:
group
)。.example App .app Clip Migration -
App Clipのコード中で、共有コンテナのURLを
container
(英語)を使って取得し、そのURLを使って、URL(for Security Application Group Identifier:) write(to:
(英語)などでデータを保存します。atomically: encoding:) -
アプリのコードの中で上記の関数を使って共有コンテナのURLを取得し、
init(contents
(英語)などを使ってコンテンツにアクセスします。Of:)
共有コンテナに加えて、App Clipは完全版アプリもアクセスできる共有のUser
(英語)インスタンスに情報を保存することもできます。次のコードでは、構成済みのアプリグループを使って共有のUser
インスタンスを作成し、文字列を保存しています。
ユーザーが完全版アプリをインストールすると、アプリから共有のユーザーデフォルトにアクセスできます。たとえば、上記のコードで保存した文字列にアクセスするには、以下のコードを使用できます。
さまざまなアプリやApp Clipのやり取りの中でユーザーのプライバシーを保護するため、App Clipがデータを共有できるのは、対応する完全版アプリに限定されます。さらに、App Clipがキーチェーンに保存する情報については、対応する完全版アプリもアクセスできません。
重要
パスワードなどの機密情報を、共有のアプリコンテナやユーザーデフォルトなどに絶対に保存しないでください。
「Appleでサインイン」の提供
App Clipでは、任意のテクノロジーを使ってアカウントへのサインインや新規アカウントの作成機能をユーザーに提供できます。ただし、ユーザーがアカウントにログインすることが必要なApp Clipでは、「Appleでサインイン(英語)」を提供することを検討してください。シンプルで安全、しかもプライバシーを保護したアカウント作成とサインインに加えて、ユーザーが完全版アプリに切り替えた際にもポジティブな体験を提供することができます。
「Appleでサインイン」の機能を提供し、共有データコンテナを作成する場合は、ユーザーが完全版アプリを使い始めたときに再度ログインしなくてもすむよう、適切なユーザー体験を設計してください。次のコードでは、ASAuthorization
(英語)を共有のUser
(英語)インスタンスに保存します。
このアプリのコードで保存されているApple IDの認証資格情報を取得し、これをユーザーのサインインに使用します。