アプリ機能の宣言 (Windows ランタイム アプリ)

Applies to Windows and Windows Phone

アプリでユーザー リソース (ピクチャなど) や接続されているデバイス (カメラなど) に対するプログラムによるアクセスが必要な場合は、適切な機能を宣言する必要があります。 アプリでアクセスを要求するには、パッケージ マニフェストで機能を宣言します。ほとんどの機能は Microsoft Visual Studio のマニフェスト デザイナーで宣言できるほか、「パッケージ マニフェストで機能を指定する方法」で説明しているように、パッケージ マニフェストに手動で追加することもできます。

アプリをストアに送信すると、アプリがチェックされ、宣言されている機能がアプリの説明と一致しているかどうかが確認されます。多数の機能を宣言したり、ユーザーにとって重要と思われる特定の機能を宣言したりすると、ストアにアプリを送信するときに、アプリの調査レベルが上がる場合があります。ユーザーには、ストアからアプリを入手するときに、アプリで宣言されているすべての機能が通知されます。

ストア アカウントには、会社のアカウントと個人のアカウントの 2 種類があります。 以下に説明する特殊な用途の機能に該当するアプリについては、ストアに提出する際に会社のアカウントが必要になります。 会社のアカウントについて詳しくは、「アカウントの種類、場所、料金」をご覧ください。

ここでは、保護されるリソースと、それらのリソースにアクセスするために必要な機能について説明します。

一般的な用途の機能

一般的な用途の機能は、ストア アプリのほとんどのシナリオに適用される機能です。

ミュージック

musicLibrary 機能は、ユーザーのミュージック フォルダーへのプログラムによるアクセスを提供します。これによって、ユーザーの操作なしで、ライブラリ内のすべてのファイルを列挙してそれらのファイルにアクセスできます。通常、この機能は、音楽ライブラリ全体にアクセスする必要があるジュークボックス アプリで使われます。

file picker は、アプリで使うファイルをユーザーが開くことができる強力な UI メカニズムを提供します。 musicLibrary 機能を宣言するのは、プログラムによるアクセスを必要とするアプリのシナリオをfile pickerでは実現できない場合だけにしてください。 ライブラリにあるファイルにアクセスする方法の例については、「クイックスタート: プログラムによるファイルへのアクセス」をご覧ください。

ピクチャ

picturesLibrary 機能は、ユーザーのピクチャ フォルダーへのプログラムによるアクセスを提供します。これによって、ユーザーの操作なしで、ライブラリ内のすべてのファイルを列挙してそれらのファイルにアクセスできます。通常、この機能は、画像ライブラリ全体にアクセスする必要がある写真再生アプリで使われます。

file pickerは、アプリで使うファイルをユーザーが開くことができる強力な UI メカニズムを提供します。 picturesLibrary 機能を宣言するのは、プログラムによるアクセスを必要とするアプリのシナリオをfile pickerでは実現できない場合だけにしてください。 ライブラリにあるファイルにアクセスする方法の例については、「クイックスタート: プログラムによるファイルへのアクセス」をご覧ください。

動画

videosLibrary 機能は、ユーザーの動画へのプログラムによるアクセスを提供します。これによって、ユーザーの操作なしで、ライブラリ内のすべてのファイルを列挙してそれらのファイルにアクセスできます。通常、この機能は、動画ライブラリ全体にアクセスする必要があるムービー再生アプリで使われます。

file pickerは、アプリで使うファイルをユーザーが開くことができる強力な UI メカニズムを提供します。 videosLibrary 機能を宣言するのは、プログラムによるアクセスを必要とするアプリのシナリオをfile pickerでは実現できない場合だけにしてください。 ライブラリにあるファイルにアクセスする方法の例については、「クイックスタート: プログラムによるファイルへのアクセス」をご覧ください。

リムーバブル記憶域

removableStorage 機能は、パッケージ マニフェストで宣言されたファイルの種類の関連付けに限定された、USB キーや外部ハード ドライブなどのリムーバブル記憶域上のファイルへのプログラムによるアクセスを提供します。たとえば、DOC リーダー アプリで .doc ファイルの種類の関連付けを宣言すると、リムーバブル記憶域デバイス上の .doc ファイルを開くことはできますが、他の種類のファイルを開くことはできません。 ユーザーのリムーバブル記憶域デバイスにはさまざまな情報が含まれている可能性があり、リムーバブル記憶域にプログラムでアクセスするときはファイルの種類全体について正当な理由が求められるため、この機能を宣言する場合は注意が必要です。

ユーザーは、関連付けが宣言されたファイルはアプリで処理されるものと考えます。そのため、処理できない可能性があるファイルについては関連付けを宣言しないでください。 file pickerは、アプリで使うファイルをユーザーが開くことができる強力な UI メカニズムを提供します。

removableStorage 機能を宣言するのは、プログラムによるアクセスを必要とするアプリのシナリオをfile pickerでは実現できない場合だけにしてください。

インターネットとパブリック ネットワーク

インターネットとパブリック ネットワークに対する異なるレベルのアクセスを提供する機能は 2 つあります。これらの機能は、アプリが Windows または Windows Phone のどちらで動作しているかに応じて、異なるアクセスを提供します。

機能Windows の動作Windows Phone の動作
internetClientインターネットから着信データを受信できます。サーバーとして機能することはできません。ローカル ネットワーク アクセスはなし。完全なローカルおよびインターネット アクセスで、サーバーとして機能できます。重要なポートへの入力方向のアクセスは常にブロックされます。
internetClientClientServerインターネットから着信データを受信できます。サーバーとして機能できます。ローカル ネットワーク アクセスはなし。完全なローカルおよびインターネット アクセスで、サーバーとして機能できます。重要なポートへの入力方向のアクセスは常にブロックされます

 

Windows では、Web サービス コンポーネントを持つほとんどのアプリで internetClient を使います。着信ネットワーク接続をリッスンする必要があるピア ツー ピア (P2P) シナリオを実現するアプリは internetClientServer を使う必要があります。internetClientServer 機能には internetClient 機能で提供されるアクセスが含まれるため、internetClientServer を指定した場合は internetClient を指定する必要はありません。

これらの機能を宣言する場合、重要な認定の要件は、設定ウィンドウ上のプライバシー ポリシーへのリンクを含めることです。現在のところ、この処理を忘れることが、認定を困難にする最も一般的な要因となっています。

  • Applies to Windows Phone

Windows Phone ストア アプリには、アプリのすべてのネットワーク アクセスを可能にする単一のネットワーク機能があります。インターネット (クライアントとサーバー) 機能を使うと、クライアント操作 (出力方向のアクセス) とサーバー操作 (入力方向のアクセス) の両方のために、ネットワークへの完全なアクセスが可能になります。ただし、いずれかのネットワーク機能 (internetClient、internetClientServer、または privateNetworkClientServer) が Package.appxmanifest ファイルで指定されている場合、Windows Phone ストア アプリは実行時にクライアントとサーバーの両操作のためにネットワークに対して完全なアクセスを得ることができます。

Visual Studio で Windows Phone ストア アプリを開発、テストしているときは、アプリ マニフェスト ファイルでこの機能を指定していない場合でも、アプリの実行時にネットワーク機能 (インターネット (クライアントとサーバー)) を利用できます。アプリを公開すると、アプリではネットワーク機能が自動的には表示されません。アプリでネットワーク接続が必要な場合は、マニフェスト デザイナーの [機能] ページで [インターネット (クライアントとサーバー)] 機能をオンにしてください。

ホーム ネットワークと社内ネットワーク

privateNetworkClientServer 機能は、ファイアウォール経由でのホーム ネットワークおよび社内ネットワークへの入力方向および出力方向のアクセスを提供します。通常、この機能は、ローカル エリア ネットワーク (LAN) 上で通信するゲーム、およびさまざまなローカル デバイスでデータを共有するアプリで使われます。 アプリで musicLibrarypicturesLibrary、または videosLibrary を指定している場合は、ホーム グループ内の対応するライブラリにアクセスするためにこの機能を使う必要はありません。 Windows の場合、この機能はインターネットへのアクセスを提供しません。Windows Phone の場合、この機能は internetClient または internetClientClientServer と同じアクセスを提供します。

予定

  Windows 8.1 以降の Windows ストア アプリのアプリ パッケージ マニフェストでサポートされます。この機能は、Windows Phone でもサポートされます。

appointments 機能は、ユーザーの予定ストアへのアクセスを提供します。この機能によって、同期されたネットワーク アカウントから取得された予定や、予定ストアへの書き込みを行う他のアプリに対する読み取りアクセスが可能になります。この機能を使うと、アプリで新しいカレンダーを作り、そのカレンダーに予定を書き込むことができます。

連絡先

  Windows 8.1 以降の Windows ストア アプリのアプリ パッケージ マニフェストでサポートされます。この機能は、Windows Phone でもサポートされます。

contacts 機能は、さまざまな連絡先ストアからの連絡先が集約されたビューへのアクセスを提供します。この機能によって、アプリでは、さまざまなネットワークやローカルの連絡先ストアから同期された連絡先に制限付きでアクセスできます (ネットワーク許可規則が適用されます)。

デバイス機能

デバイス機能を使うと、アプリは周辺機器と内部デバイスにアクセスできます。デバイスの機能を指定するには、アプリのパッケージ マニフェストの DeviceCapability 要素を使います。 この要素は追加の子要素を必要とする場合があり、一部のデバイス機能をパッケージ マニフェストに手動で追加する必要があります。詳しくは、「パッケージ マニフェストでデバイス機能を指定する方法」と「Schema reference for Windows 8 Windows Store apps」または「Schema reference for Windows 8.1 and Windows Phone 8.1」をご覧ください。

位置情報

location 機能は、位置情報機能へのアクセスを提供します。この情報は PC 内の GPS センサーのような専用ハードウェアから取得するか、利用可能なネットワーク情報から導き出されます。 アプリは、ユーザーが設定チャームで位置情報サービスを無効にした場合に対応する必要があります。 ユーザーの位置を検出する方法の例については、「地理位置情報の検出」をご覧ください。

マイク

microphone 機能は、マイクのオーディオ フィードへのアクセスを提供します。これによって、接続されたマイクからオーディオを録音できます。アプリは、ユーザーが設定チャームでマイクを無効にした場合に対応する必要があります。 オーディオを録音する方法の例については、「オーディオ録音または動画録画の方法」をご覧ください。

近接通信

proximity 機能を使うと、きわめて近い場所にある複数のデバイスが相互に通信できます。通常、この機能は、カジュアルなマルチプレーヤー ゲームや情報を交換するアプリで使われます。 デバイスは、Bluetooth、WiFi、インターネットを含む、最適な接続を提供する通信テクノロジを使います。この機能は、デバイス間の通信を開始するためにのみ使われます。 近接通信を使ってアプリを接続する方法の例については、「クイック スタート: タップまたは参照によるアプリの接続」をご覧ください。

Web カメラ

webcam 機能は、内蔵カメラや外付け Web カメラのビデオ フィードへのアクセスを提供します。これによって、アプリで写真やビデオをキャプチャできます。 Windows の場合、アプリは、ユーザーが設定チャームでカメラを無効にした場合に対応する必要があります。 ビデオを録画する方法の例については、「オーディオ録音またはビデオ録画の方法」をご覧ください。

webcam 機能では、ビデオ ストリームへのアクセスだけが許可されます。オーディオ ストリームへのアクセスも許可するには、microphone 機能を追加する必要があります。

USB

usb デバイス機能を使うと、Windows.Devices.Usb 名前空間の API にアクセスできます。この名前空間により、カスタム USB デバイスと通信するアプリを作成できます。このコンテキストの "カスタム" とは、Microsoft からインボックス クラス ドライバーが提供されない周辺機器のことです。このデバイス機能を使うには、子要素が必要です。詳しくは、USB デバイスのアプリ マニフェスト パッケージの更新に関するページをご覧ください。

  USB API は、Windows Phone ではサポートされません。

ヒューマン インターフェイス デバイス (HID)

humaninterfacedevice デバイス機能を使うと、Windows.Devices.HumanInterfaceDevice 名前空間の API にアクセスできます。この名前空間により、アプリは、ヒューマン インターフェイス デバイス (HID) プロトコルをサポートするデバイスにアクセスできます。このデバイス機能を使うには、子要素が必要です。詳しくは、「HID のデバイス機能を指定する方法」をご覧ください。

Bluetooth GATT

bluetooth.genericAttributeProfile デバイス機能を使うと、Windows.Devices.Bluetooth.GenericAttributeProfile 名前空間の API にアクセスできます。この名前空間により、アプリは、プライマリ サービス、含まれているサービス、特性、記述子のコレクションを介して Bluetooth LE devices にアクセスできます。詳しくは、「Bluetooth のデバイス機能を指定する方法」をご覧ください。

Bluetooth RFCOMM

bluetooth.rfcomm デバイス機能を使うと、Windows.Devices.Bluetooth.Rfcomm 名前空間の API にアクセスできます。この名前空間は、Basic Rate/Extended Data Rate (BR/EDR) トランスポートをサポートし、アプリが Serial Port Profile (SPP) を実装するデバイスにアクセスできるようにします。このデバイス機能を使うには、子要素が必要です。詳しくは、「Bluetooth のデバイス機能を指定する方法」をご覧ください。

Point of Service (POS)

pointOfService デバイス機能を使うと、Windows.Devices.PointOfService 名前空間の API にアクセスできます。この名前空間により、Windows ストア アプリは、Point of Service (POS) バー コード スキャナーや磁気ストライプ リーダーにアクセスできます。この名前空間は、さまざまな製造元の POS デバイスに Windows ストア アプリからアクセスするための、ベンダーに依存しないインターフェイスを提供します。これらの API について詳しくは、Windows 8.1 の新しい API と機能に関するページをご覧ください。

  Point of Service API は、Windows Phone ではサポートされません。

特殊な用途の機能

特殊な用途の機能は、特殊なシナリオ向けの機能です。 これらの機能は、用途が厳格に制限されており、ストアへの登録に際して追加のポリシーやレビューが適用されます。 これらの機能が必要で適しているものとしては、身元を証明するデジタル証明書をスマート カードに含めるようにユーザーに求める 2 要素認証を使ったバンキング アプリなどがあります。 また、主に企業ユーザー向けに設計されたアプリや、ユーザーのドメイン資格情報がないとアクセスできな企業リソースへのアクセスを必要とするアプリもあります。

特殊な用途の機能に該当するアプリについては、ストアに提出する際に会社のアカウントが必要になります。 Windows の場合、会社のアカウントについて詳しくは、「アカウントの種類、場所、料金」をご覧ください。 Windows Phone の場合、「登録情報」をご覧ください。

エンタープライズ認証

Windows ドメイン資格情報により、ユーザーはそれぞれの資格情報を使ってリモートのリソースにログインし、ユーザー名とパスワードを指定したかのように動作できます。通常、enterpriseAuthentication 機能は、企業内のサーバーに接続する基幹業務アプリで使われます。

インターネット上での汎用通信にはこの機能は不要です。

enterpriseAuthentication 機能は、一般的な基幹業務アプリをサポートするための機能です。企業リソースにアクセスする必要がないアプリでは宣言しないでください。 file pickerは、アプリで使うネットワーク共有上のファイルをユーザーが開くことができる強力な UI メカニズムを提供します。 enterpriseAuthentication 機能を宣言するのは、プログラムによるアクセスを必要とするアプリのシナリオをfile pickerでは実現できない場合だけにしてください。

共有ユーザー証明書

sharedUserCertificates 機能を使って、アプリはスマート カードに格納されている証明書などのソフトウェア証明書およびハードウェア証明書にアクセスできます。通常、この機能は認証にスマート カードを必要とする財務アプリまたはエンタープライズ アプリで使われます。

ドキュメント

documentsLibrary 機能は、パッケージ マニフェストで宣言されたファイルの種類の関連付けに限定された、ユーザーのドキュメント フォルダーへのプログラムによるアクセスを提供し、OneDrive へのオフライン アクセスをサポートします。たとえば、DOC リーダー アプリで .doc ファイルの種類の関連付けを宣言すると、ドキュメント フォルダー内の .doc ファイルを開くことはできますが、他の種類のファイルを開くことはできません。

documentsLibrary 機能を宣言するアプリは、ホーム グループ コンピューター上のドキュメント フォルダーにアクセスできません。 ファイル ピッカーは、アプリで使うファイルをユーザーが開くことができる強力な UI メカニズムを提供します。 documentsLibrary 機能は、ファイル ピッカーを使えない場合のみ宣言します。

documentsLibrary 機能を使うにはアプリが次の条件を満たしている必要があります。

  • 有効な OneDrive URL またはリソース ID を使った、特定の OneDrive コンテンツへのクロスプラットフォーム オフライン アクセスを容易にする
  • オフライン時に、開いているファイルをユーザーの OneDrive に自動的に保存する

これらの 2 つの目的で documentsLibrary 機能を使うアプリと、別のドキュメントに埋め込まれているコンテンツを開く機能を使うこともできます。 documentsLibrary 機能の上記の使用方法のみが許可されています。

Windows Phone ストア アプリでドキュメント ライブラリを使うことはできません。

  • documentsLibrary 機能を指定した Windows Phone ストア アプリを Windows Phone ストアに公開することはできません。ストアでは、このようなアプリの公開をブロックします。

  • アプリは、電話の内部記憶域にあるドキュメント ライブラリにはアクセスできません。ただし、別のアプリによってオプションの SD カード上にドキュメント フォルダーが作られた場合は、アプリでそのフォルダーを表示できます。

関連トピック

マニフェスト デザイナー
パッケージ マニフェストで機能を指定する方法
パッケージ マニフェストでデバイス機能を指定する方法

 

 

表示:
© 2014 Microsoft