コンテンツの共有のガイドライン
共有コントラクトを使うと、ユーザーは Windows ユニバーサル アプリのコンテンツを共有できるだけでなく、インストールされた他のアプリから共有コンテンツを受け取ることもできます。アプリは、共有ソース、共有ターゲット、またはその両方として登録できます。アプリで共有機能が必要な場合は、共有エクスペリエンスのエントリ ポイントを提供する必要があります。
共有プロセスの概要について詳しくは、「共有の追加 (XAML)」または「コンテンツの共有と受信 (HTML)」をご覧ください。
例
ユーザーが共有ターゲットの一覧から "Tweet@rama" を選んだときに表示される共有ポップアップを次に示します。
時間のかかる共有操作
時間のかかる共有操作を行うための共有ポップアップの例を次に示します。共有に失敗した場合、進行状況不定バーと情報エラー メッセージがターゲット アプリによって表示されます。詳しくは、Guidelines for progress controlsをご覧ください。
推奨事項
ソース アプリ
- ユーザーの意図している形式でコンテンツを共有します。たとえば、ユーザーが Web ページの一部だけを共有するように選んだ場合は、その Web ページ全体へのリンクを共有するのではなく、選んだテキストを共有します。
- ユーザーが何を共有しているかを示す説明を提供します。たとえば、ユーザーが Web ページを共有している場合は、ページの URL を示す文章を追加します。画像を共有している場合、画像の説明やタイトルを含めます。
- ユーザーが、表示されているアプリのコンテンツの一部を選んでいる場合は、共有ポップアップ (ウィンドウ) が閉じた後、この選択内容を保持します。これは、ユーザーが選択内容を変更する場合や、同じコンテンツを複数のターゲットで共有する場合に役立ちます。
- ダウンロードされたローカル コンテンツのコピーを共有するのではなく、ローカル コンテンツのオンライン版へのリンクを共有します。たとえば、あるニュース サイトが、独自のニュース アプリを作成する一方で、同じ記事を Web サイトでも公開しているとします。ユーザーがソーシャル ネットワーキング サイトと記事を共有する場合、アプリでは、ユーザーが現在表示しているオンライン版の記事へのリンクを共有する必要があります。
- 共有を実行できない場合はユーザーに通知します。特定の共有操作が失敗した場合は、共有ポップアップにメッセージを表示して、問題点を説明し、可能であれば問題の解決策を示します。DataRequest オブジェクトでは、このような状況に役立つ FailWithDisplayText メソッドがサポートされています。
- アプリ内でデータをコピーする方法をアプリがサポートしている場合は、その同じデータを共有する方法も提供する必要があります。
- プロパティを設定して、ユーザーが共有するコンテンツについての役立つ情報をターゲット アプリに提供します。利用可能なプロパティについて詳しくは、「DataPackage.DataPackagePropertySet」をご覧ください。
ターゲット アプリ
- ターゲット アプリと主要なアプリは同じ外観にする。ターゲット アプリのユーザー インターフェイスは、主要なアプリをよく使うユーザーになじみやすいものにする必要があります。
- 特定のデータ形式についてアプリがソースとターゲットの両方である場合、既定では、ユーザーがそのアプリを使って共有するたびに、共有ターゲットの一覧にそのアプリが表示されます。同じアプリを使ってコンテンツを共有することがユーザーにとって意味を成さない場合、別のターゲット アプリの選択を求めるエラー メッセージが表示されます。
- 共有状態を誤って終了するリンクを削除します。たとえば、同じターゲット アプリ内の他の領域 (ホーム ページなど) に移動するリンクがある場合は、ユーザーが誤って共有状態を終了しないように、それらのリンクを削除するか、隠す必要があります。
- できる限り、プレビューを実際のコンテンツと一致させます。アプリでユーザーが何を共有しているかをプレビューできる場合は、そのプレビューを実際に共有されている内容とできるだけ一致させる必要があります。
- ユーザーの操作を通知します。ユーザーが共有ペインを閉じる前に、システムがユーザーの操作に対応していることをインライン メッセージなどで知らせてください。これによってユーザーは、共有が無事に開始されたことを確認できます。
関連トピック
開発者向け (XAML)
Quickstart: Receiving shared content
開発者向け (HTML)