アプリ コントラクトと拡張機能

アプリ コントラクトと拡張機能 (Windows ランタイム アプリ)

[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]

アプリでは、サポートする他のアプリとの対話的操作を宣言するために、コントラクトと拡張機能を使います。これらのアプリは、必要な宣言をパッケージ マニフェストに含み、必要な API を呼び出してコントラクトに参加している他のアプリと通信する必要があります。

コントラクト コントラクトとは、1 つ以上のアプリの間の契約のようなものです。コントラクトは、アプリが独特の対話的操作に参加するために満たす必要がある要件を定義します。

たとえば、2 つのアプリ間で情報を共有することを検討してください。コンテンツを分け与えるアプリは、特定の要件を満たすことでソース コントラクトをサポートします。一方、共有コンテンツを受け取るアプリは、別の要件セットを満たすことでターゲット コントラクトをサポートします。アプリどうしが認識し合う必要はありません。共有コントラクトに参加するアプリはすべて、共有ワークフローが完全にサポートされることを前提にできます。

拡張機能 拡張機能とは、アプリとオペレーティング システムの間の契約のようなものです。アプリの開発者は、拡張機能を使って標準の機能を拡張したりカスタマイズしたりできます。主にそのアプリ自体で使うためですが、他のアプリで使う場合もあります。

パッケージ マニフェストを使って、拡張機能を宣言します。たとえば、特定のファイル拡張子を持つファイルを処理することや、特定のダイナミック リンク ライブラリを使うことをアプリで宣言することができます。Microsoft Visual Studio では、[宣言] タブを使います。パッケージを手動で作成する場合は、Extensions element を確認します。

以下の各セクションでは、さまざまな組み込みのアプリのコントラクトと拡張機能について説明します。

アカウントの画像プロバイダー (拡張機能)

アカウントの画像を変更するときは、既にある画像を選ぶことも、アプリを使って新しい画像を撮影することもできます。 画像を撮影できるアプリの場合、この拡張機能を使って、Windows の [Account Picture Settings] (アカウントの画像設定) コントロール パネルに表示することができます。ここからアプリを選んで、新しいアカウントの画像を作成できます。

この拡張機能について詳しくは、UserInformation のリファレンス トピックをご覧ください。アカウントの画像名のサンプルに関するページもご覧ください。

アラーム

アプリケーションは、システム アラーム アプリとして自らを宣言できます。 ユーザーが選択 UI を使ってシステム アラームを設定するときに、システム アラーム アプリとして宣言されているアプリケーションのみを選択できます。これは、[PC 設定] ページの [詳細な状態] スロットと同様の方法で動作します。

App Service

バックグラウンド タスクにより、アプリケーションは相互に通信して、1 つのアプリケーションが別のアプリケーションを呼び出せるようになります。コントラクトを使ってバックグラウンド タスクを提供または起動するには、アプリケーションをアプリ サービスとして宣言する必要があります。

予定プロバイダー

アプリケーションがカレンダー API を操作し、予定を作成する機能を提供します。

自動再生 (拡張機能)

ユーザーがコンピューターにデバイスを接続すると、自動再生イベントが発生します。この拡張機能を使うと、アプリを 1 つ以上の自動再生イベントに対応する自動再生の選択肢として一覧に表示できます。

この拡張機能について詳しくは、「自動再生による自動起動」をご覧ください。

バックグラウンド タスク (拡張機能)

アプリでバックグラウンド タスクを使うと、アプリが一時停止されているときでもアプリ コードを実行できます。バックグラウンド タスクは、ユーザーの操作を必要としない小さな作業項目を対象としています。詳しくは、「バックグラウンド タスクによるアプリのサポート」とバックグラウンド タスクの概要に関するページをご覧ください。

次の種類のバックグラウンド タスクは、Visual Studio のマニフェスト デザイナーを介して利用できます。

タスクの種類適用対象XAMLHTML詳細
オーディオWindows と Windows Phone に適用C#/C++/VB、XAML に適用JavaScript と HTML に適用 バックグラウンドでオーディオを再生する方法 (Windows のみ)概要: Windows Phone のバックグラウンド オーディオ
システム イベントWindows と Windows Phone に適用C#/C++/VB、XAML に適用JavaScript と HTML に適用 バックグラウンド タスクでシステム イベントに応答する方法
タイマーWindows と Windows Phone に適用C#/C++/VB、XAML に適用JavaScript と HTML に適用 タイマーでバックグラウンド タスクを実行する方法
プッシュ通知Windows と Windows Phone に適用C#/C++/VB、XAML に適用JavaScript と HTML に適用 WNS を使ったプッシュ通知の送信
位置情報Windows と Windows Phone に適用C#/C++/VB、XAML に適用JavaScript と HTML に適用 クイック スタート: バックグラウンドでのジオフェンス イベントのリッスン
デバイス使用トリガーWindows と Windows Phone に適用C#/C++/VB、XAML に適用JavaScript と HTML に適用 バックグラウンド タスクからのセンサーやデバイスへのアクセス
コントロール チャネルWindows のみに適用C#/C++/VB、XAML に適用JavaScript と HTML には適用されない バックグラウンド ネットワーク トリガーを使うロック画面のアプリの作成方法
チャット メッセージ通知Windows Phone のみに適用C#/C++/VB、XAML に適用JavaScript と HTML に適用
重要  この種類のバックグラウンド タスクは、一部の Windows Phone ストア アプリでは使うことができません。開発者用アカウントが Microsoft によって特にプロビジョニングされない限り、実行時にこれらの API の呼び出しは失敗します。
 

 

更新タスク (拡張機能)

更新タスクは、ユーザーが新しいバージョンにアプリを更新した後、直接実行されるバックグラウンド タスクです。これによって、ユーザーが更新されたアプリを最初に起動しなくても、プッシュ通知チャネルの設定などの構成タスクをアプリで実行する機会が得られます。

この拡張機能について詳しくは、「更新タスクの使用方法」をご覧ください。

キャッシュ ファイル アップデーター コントラクト

特定のファイルに対する更新情報を提供して、ファイルの追跡と管理を集中して行うリポジトリとしてアプリを使うことを考えているユーザーを支援できます。たとえば、Microsoft OneDrive は、ファイルを追跡して最新バージョンのファイルがユーザーに表示されるようにしたり、OneDrive アプリが新しいバージョンを提供できる場合にファイルの更新をトリガーしたりできます。さらに、ユーザーが追跡対象ファイルの新しいバージョンを保存している場合、OneDrive はファイルのそのバージョンへ更新をトリガーして、常に最新のバージョンを保持するようにできます。

ファイル ピッカー コントラクトとの統合」と「クイック スタート: ファイル ピッカー コントラクトとの統合」をご覧ください。

カメラの設定 (拡張機能)

デバイスの製造元は、Windows ストア デバイス アプリを使って、より多くのカメラ オプションを表示するようにポップアップをカスタマイズできます。[その他のオプション] ポップアップは、CameraCaptureUI クラスを使って写真をキャプチャするアプリで表示できます。詳しくは、Windows ストア デバイス アプリでカメラ オプションをカスタマイズする方法に関するページをご覧ください。

ダイヤル プロトコル

ネットワーク デバイスでは、DIAL プロトコルを使って、Xbox One でアプリケーションを起動できます。実行しようとしているアプリケーションが利用できない場合は、DIAL ネットワークを使って、実行する前にアプリケーションをインストールすることもできます。

ファイルのアクティブ化 (拡張機能)

同じファイル名拡張子を持つファイルは同じ種類のファイルです。アプリでは、.txt などの既にあるよく知られたファイルの種類を使ったり、新しいファイルの種類を作成したりできます。ファイルのアクティブ化拡張機能を使うと、新しいファイルの種類を定義したり、処理するファイルの種類を登録したりできます。

ファイルのアクティブ化を処理する方法」をご覧ください。

ファイル オープン ピッカー コントラクト

ユーザーは、アプリを使っているときに、別のアプリ内からファイルを直接選ぶことができるようになります。ユーザーは、アプリに格納して表示するファイルを自由かつ柔軟に選択できます。

このコントラクトに参加すると、アプリの人気と導入実績を高めることができます。 詳しくは、「ファイル ピッカー コントラクトとの統合」をご覧ください。

ファイル保存ピッカー コントラクト

ユーザーは、アプリを使っているときに、別のアプリにファイルを直接保存できるようになります。ユーザーは自由かつ柔軟にファイルをアプリに保存できるようになるため、アプリを切り替えたときにもすばやく簡単にファイルにアクセスできます。

このコントラクトに参加すると、アプリの人気と導入実績を高めることができます。 詳しくは、「ファイル ピッカー コントラクトとの統合」をご覧ください。

ロック画面での通話

電話がロックされている場合、ユーザーが実行できる操作の量に制限があります。ユーザーは、電話のロックを解除せずに VoIP 通話に応答したい場合もあります。このコントラクトにより、このような操作が可能になります。

メディア再生

Windows ストア アプリは、DVD の再生をサポートすることを示すために、このコントラクトをサポートする必要があります。

リモート再生コントラクト

接続されている DLNA デバイスにデジタル メディアをアプリ内からリモート再生できるようにします。ユーザーは、アプリがメディアを DLNA デバイスで再生することを期待して、[接続] チャーム、[リモート再生] ボタンの順にタップします。

このコントラクトに参加すると、アプリの使いやすさが向上してユーザーがアプリを長時間使うようになります。詳しくは、「リモート再生を使ってデバイスにメディアをストリーミングする」をご覧ください。

プレインストールされた構成タスク

アプリケーションは、インストールされた直後に更新が必要になる場合があります。このコントラクトでは、ユーザーの操作を必要とすることなくすぐに更新タスクを起動し、アプリケーションをすぐに更新することができます。

3D 印刷のワークフロー

3D プリンターの製造元は、3 D 印刷ダイアログ ボックスで独自のエクスペリエンスを提供する Windows ストア デバイス アプリを提供できます。このアプリを提供しない場合、Windows により、既定の 3D 印刷エクスペリエンスが提供されます。

印刷タスク設定 (拡張機能)

デバイスの製造元は、Windows ストア デバイス アプリを使って、詳細印刷設定を表示するようにポップアップをカスタマイズできます。詳しくは、Windows ストア デバイス アプリで印刷設定をカスタマイズする方法に関するページをご覧ください。

URI のアクティブ化 (拡張機能)

アプリでは、mailto などの既にある URI スキームを使ったり、カスタム URI スキームを作成したりできます。URI のアクティブ化拡張機能を使うと、カスタム URI スキームを定義したり、処理する既にある URI スキームを登録したりできます。

URI のアクティブ化を処理する方法に関するページをご覧ください。

制限された起動

チャイルド アプリ コンテナーは、信頼できないコンテンツが Windows ストア アプリによって実行されるときに、実行時のより高いレベルの分離を提供します。これにより、アプリは、この信頼されていないコンテンツから自らを保護することができます。たとえば、Microsoft Word が、編集中のドキュメントからユーザーのリソースを保護することができます。

検索コントラクト

ユーザーがアプリのコンテンツを検索できるように、アプリに検索ウィンドウを追加できます。他のアプリのコンテンツも検索できます。検索クエリを他のアプリに転送することもできます。このコントラクトに参加した場合は、他の参加アプリがアプリのコンテンツを検索できるようにすること、および参加アプリの検索結果をアプリ内に表示することに同意したと見なされます。

このコントラクトに参加すると、アプリへのトラフィックやアプリの利用頻度を高めることができます。 詳しくは、「アプリへの検索の追加」をご覧ください。

設定コントラクト

アプリ操作に影響する設定に対して、迅速かつコンテキストに沿った操作を提供できます。

このコントラクトに参加すると、アプリと Windows 設定モデルとの一貫性を確保できます。詳しくは、「アプリ設定の追加」をご覧ください。

共有コントラクト

ユーザーは、アプリと別のアプリまたはサービスの間でコンテンツを相互に共有できるようになります。 共有コントラクトに参加すると、追加のコードを記述したり、コンテンツの共有だけを目的に他の開発者にアプリ用の SDK を提供したりする必要がなくなります。共有コントラクトをサポートしているアプリは、共有コントラクトを同様にサポートしている別のアプリと自動的にコンテンツを共有できます。

このコントラクトに参加すると、アプリへのトラフィックやアプリの利用頻度を高めることができます。 詳しくは、「共有の追加」をご覧ください。

SSL/証明書 (拡張機能)

デジタル証明書は、あるエンティティを別のエンティティに対して認証するために使われます。たとえば、証明書は、SSL 経由でユーザーを Web サービスに対して認証するためによく使われます。この拡張機能を使うと、デジタル証明書をアプリと一緒にインストールできます。

データの暗号化と証明書の操作」をご覧ください。

Web アカウント プロバイダー

シングル サインオン (SSO) のサポートにより、ユーザーは 1 回サインオンし、そのログイン操作により、複数のアプリケーションにアカウント情報を提供することができます。これにより、他のアプリでもエクスペリエンスが向上し、SSO をサポートする複数の ID の集約が可能になります。

 

 

表示:
© 2016 Microsoft