アカウント画像プロバイダー拡張機能
アカウント画像プロバイダー拡張機能の概要
アカウント画像プロバイダー拡張機能を利用すると、ストアアプリを通してユーザーのアカウント画像を変更できます。
アカウントの画像には、画像以外にも動画を指定することができます。
画像や動画を編集するストアアプリの機能として、アカウント画像プロバイダー拡張機能に対応させるといった対応が考えられます。
アカウント画像プロバイダー拡張機能の実装
Package.appxmanifestの編集
プロトコルのアクティブ化拡張機能を追加するには、まずPackage.appxmanifestを編集します。
宣言タブの「使用可能な宣言」で「アカウントの画像プロバイダーを」を追加します。
App.xaml.csに起動時のイベントハンドラーを追加
続いて、App.xaml.csに起動時のイベントを記述します。
// アカウント画像プロバイダー拡張機能の呼び出しの場合起動はOnActivatedが呼び出される protected async override void OnActivated(IActivatedEventArgs args) { if (args.Kind == ActivationKind.Protocol) { var protocolArgs = (ProtocolActivatedEventArgs)args; // アカウント画像プロバイダー拡張機能の呼び出しの場合以下のSchemeが指定されてくる if (protocolArgs.Uri.Scheme == "ms-accountpictureprovider") { // ファイルを選択してもらう FileOpenPicker picker = new FileOpenPicker { ViewMode = PickerViewMode.Thumbnail, SuggestedStartLocation = PickerLocationId.PicturesLibrary, FileTypeFilter = { ".jpg", ".jpeg", ".png", ".bmp" } }; StorageFile imageFile = await picker.PickSingleFileAsync(); if (imageFile != null) { SetAccountPictureResult result = await UserInformation.SetAccountPicturesAsync(null, imageFile, null); } } } }
アカウント画像は、UserInformationクラスのSetAccountPicturesAsyncメソッドで保存できます。
引数は1つ目から「小さいイメージ画像」「大きいイメージ画像」「動画ファイル」を、それぞれ指定できます。
カメラの設定拡張機能
カメラの設定拡張機能の概要
ガメラの設定拡張機能は、カメラデバイスを用いて画像を撮影する際などにデバイス固有の機能を提供するための拡張機能です。主にデバイスを提供するハードウェアメーカー向けの機能なので、本記事では紹介しませんが、興味がある方は以下の資料を参照ください。
印刷タスク拡張機能
印刷タスク拡張機能の概要
印刷タスク拡張機能は、印刷の際にデバイス固有の機能を提供するための拡張機能です。カメラの設定拡張機能と同様に、ハードウェアに紐づいたつくりとなっています。よって、ハードウェアメーカー向けの機能と言えますので本記事では紹介しませんが、興味がある方は以下の資料を参照ください。
SSL/証明書拡張機能
SSL/証明書拡張機能の概要
SSL/証明書拡張機能を利用することで、ストアアプリに証明書を埋め込んでSSL経由での通信を行うことができます。
ゲームエクスプローラー拡張機能
ゲームエクスプローラー拡張機能の概要
ストアアプリにゲームを登録する場合、ゲームの評価を定義したメタデータを提供します。メタデータはゲーム定義ファイル(GDF)として指定します。
GDFファイルの作成については、以下のURLを参考にしてください。
- 参考:GDFファイルの作成
まとめ
今回までの全3回にわたってコントラクトについて紹介してきました。コントラクトはストアアプリの特徴的な機能であり、有効に利用することでストアアプリに簡単に連携機能を追加することができます。ぜひ、コントラクトを利用して、自分のアプリだけでなくほかのアプリと連携してお互いの価値を高めるようにしてみてください。
次回は画像や動画を扱うメディア操作について紹介する予定です。