アプリからのフィードバック Hub の起動

フィードバック Hub を起動するユニバーサル Windows プラットフォーム (UWP) アプリにコントロール (ボタンなど) を追加してフィードバックを送信することをユーザーにお勧めできます。 フィードバック Hub は、Windows およびインストール済みアプリでフィードバックを 1 か所で収集できるようにするプレインストール アプリです。 フィードバック Hub を介してアプリに送信されたすべてのカスタマー フィードバックは、パートナー センターのフィードバック レポートで収集および表示されるため、ユーザーが送信した問題、提案、賛成票を 1 つのレポートで確認できます。

アプリからフィードバック Hub を起動するには、Microsoft Store Services SDK が提供する API を使用します。 この API を使用して、設計ガイドラインに準拠したアプリの UI 要素からフィードバック Hub を起動することをお勧めします。

注意

フィードバック ハブは、デスクトップおよびモバイル デバイス ファミリに基づく Windows のバージョン 10.0.14271 以降を実行しているデバイスでのみ使用できます。 フィードバック Hub がユーザーのデバイスで利用できる場合にのみ、アプリにフィードバック コントロールを表示することをお勧めします。 このトピックのコードは、これを実行する方法を示しています。

アプリからフィードバック Hub を起動する方法

アプリからフィードバック Hub を起動するには、次の手順に従います。

  1. Microsoft Store Services SDK をインストールします。
  2. Visual Studio でプロジェクトを開きます。
  3. ソリューション エクスプローラーで、プロジェクトの [参照設定] ノードを右クリックし、[参照の追加] をクリックします。
  4. [参照マネージャー] で、[ユニバーサル Windows] を展開し、[拡張機能] をクリックします。
  5. SDK の一覧で、[Microsoft Engagement Framework] の横にあるチェック ボックスをオンにして、[OK] をクリックします。
  6. プロジェクトで、フィードバック Hub を起動するために、ユーザーに表示するボタンなどのコントロールを追加します。 コントロールを次のように構成することをお勧めします。
  • コントロールに表示するコンテンツのフォントを Segoe MDL2 Assets に設定します。

  • コントロールのテキストを 16 進数の Unicode 文字コード E939 に設定します。 これは、Segoe MDL2 アセット フォントで推奨されるフィードバック アイコンの文字コードです。

  • コントロールの可視性を非表示に設定します。

    注意

    フィードバック Hub がユーザーのデバイスで利用できる場合、既定でフィードバック コントロールを非表示にし、初期化コードのみにフィードバック コントロールを表示することをお勧めします。 次の手順は、この処理を実行する方法を示しています。

    次のコードは、上記のように構成されているボタンの XAML 定義を示しています。

    <Button x:Name="feedbackButton" FontFamily="Segoe MDL2 Assets" Content="&#xE939;" HorizontalAlignment="Left" Margin="138,352,0,0" VerticalAlignment="Top" Visibility="Collapsed"  Click="feedbackButton_Click"/>
    
  1. フィードバック コントロールをホストするアプリのページの初期化コードで、StoreServicesFeedbackLauncher クラスの IsSupported 静的メソッドを使用して、フィードバック Hub がユーザーのデバイスで利用できるかどうかを指定します。 フィードバック Hub は、デスクトップとモバイルのデバイス ファミリに基づく Windows 10 OS の バージョン 10.0.14271 またはそれ以降を実行しているデバイスのみで利用できます。

    このプロパティが true を返す場合、コントロールを表示にします。 次のコードは、Button に対してこの処理を実行する方法を示しています。

    if (Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.IsSupported())
    {
        this.feedbackButton.Visibility = Visibility.Visible;
    }
    

    注意

    現時点では、フィードバック ハブは Xbox デバイスではサポートされていませんが、 IsSupported プロパティは現在、Windows のバージョン 10.0.14271 以降を実行している Xbox デバイスで true を返します。 これは既知の問題で、Microsoft Store Services SDK の今後のリリースで修正される予定です。

  2. ユーザーがコントロールをクリックすると実行されるイベント ハンドラーで、StoreServicesFeedbackLauncher オブジェクトを取得し、LaunchAsync の静的メソッドを呼び出して、フィードバック Hub アプリを起動します。 このメソッドには 2 つのオーバーロードがあります。1 つは、パラメーターのないオーバーロードで、もう 1 つは、フィードバックを関連付けるメタデータが含まれる、キーと値のペアのディクショナリを受け取るオーバーロードです。 次の例は、ボタンClick イベント ハンドラーでフィードバック Hub を起動する方法を示しています。

    private async void feedbackButton_Click(object sender, RoutedEventArgs e)
    {
        var launcher = Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.GetDefault();
        await launcher.LaunchAsync();
    }
    

フィードバック UI の設計に関する推奨事項

フィードバック Hub を起動するために、Segoe MDL2 Assets フォントと文字コード E939 から次の標準のフィードバック アイコンを表示する UI 要素 (ボタンなど) をアプリに追加することをお勧めします。

また、アプリでフィードバック Hub にリンクするための次の配置オプションを 1 つ以上使用することをお勧めします。

  • アプリ バー内で直接。 実装に応じて、アイコンのみを使用するか、テキストを追加できます (以下に示すように)。

    右上隅にフィードバック アイコンがあり、その横に [フィードバック] というラベルが表示されているアプリケーションのスクリーンショット。

  • アプリの設定内。 これは、フィードバック Hub へのアクセスを提供するより巧妙な方法です。 次の例では、フィードバック リンクがアプリの下にあるリンクとして表示されています。

    [アプリ] の下に [フィードバック] リンクが表示されている [設定] ページのスクリーンショット。

  • イベント駆動型のポップアップ内。 これは、Windows フィードバック Hub を起動する前に、特定の質問についてユーザーにたずねる場合に便利です。 たとえば、ユーザーがアプリで特定の機能を使用した後、その機能の満足度に関する特定の質問を表示します。 ユーザーが質問に応答した場合、アプリでフィードバック Hub が起動します。