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

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

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

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

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

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

  1. Microsoft Store Services SDK をインストールします。 フィードバック Hub を起動するための API に加えて、この SDK は、アプリで A/B テストを行ったり、広告を表示したりすることなど、その他の機能のための API を提供します。
  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"/>
    
  7. フィードバック コントロールをホストするアプリのページの初期化コードで、StoreServicesFeedbackLauncher クラスの IsSupported 静的メソッドを使用して、フィードバック Hub がユーザーのデバイスで利用できるかどうかを指定します。 フィードバック Hub は、デスクトップとモバイルのデバイス ファミリに基づく Windows 10 OS の バージョン 10.0.14271 またはそれ以降を実行しているデバイスのみで利用できます。

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

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

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

  1. ユーザーがコントロールをクリックすると実行されるイベント ハンドラーで、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 が起動します。

関連トピック