次の方法で共有


Windows アプリケーション開発 - ベスト プラクティス

この記事のベスト プラクティスは、世界中で約 15 億人の多様な PC ユーザーにリーチし、喜びを提供する優れた Windows アプリを構築するのに役立ちます。 この記事は、次のセクションに分かれています。

  1. ユーザー エクスペリエンス: このセクションのガイダンスは、アプリの外観、操作性、使いやすさの向上に役立ちます。
  2. パフォーマンスと基礎: このセクションのガイダンスは、アプリのパフォーマンスとリソース使用率の向上に役立ちます。
  3. オペレーティング システム/ハードウェアの最適化: このセクションのガイダンスは、さまざまなハードウェア構成のパッケージ化と配布を最適化するのに役立ちます。
  4. アプリケーションの検出と管理: このセクションのガイダンスでは、ユーザーがアプリを簡単に検出、インストール、更新、アンインストールできます。
  5. アクセシビリティ: このセクションのガイダンスは、アクセシビリティと包括的なエクスペリエンスを構築するのに役立ちます。
  6. セキュリティとプライバシー: このセクションのガイダンスは、セキュリティ リスクを軽減し、ユーザーのプライバシー ニーズを満たすのに役立ちます。

ユーザー エクスペリエンス (UX)

Windows 11 は、Windows オペレーティング システムの視覚的な進化を提供し、Windows の外観、操作性、使いやすさを向上させます。 調査によると、ユーザーは Windows アプリに対して高い期待を持っています。

  • Windows アプリは、さまざまな入力で動作することが期待されています。
  • 現在および将来のデバイスでネイティブに見える設計と対話動作のパターンが期待されています。
  • 最新のウィンドウ化ワークフローとシェル統合ポイントのサポートが期待されています。

アプリケーションが Windows スタイルと標準的な Windows 動作に準拠している場合、ユーザーは対話式操作パターンを再学習する必要はありません。 この一貫性により、ユーザーはアプリを使用しやすくなります。 見栄えの良いアプリは優れた第一印象を生み出すことができますが、使いやすく、ユーザーが目標を達成するのに役立つアプリは、大きな印象を与えます。

Windows 11 は、Windows 11 の設計原則に基づいて構築されています。 アプリを構築するときにこれらのガイドラインに従うと、優れたアプリ エクスペリエンスに対する顧客の期待に応えるのに役立ちます。 最新の推奨される Windows アプリケーション UI/UX パターンを Windows アプリケーションに組み込むことを検討するときは、次の 5 つの領域に焦点を当てます。

  • レイアウト
  • UI 操作
  • 視覚スタイル
  • ウィンドウの動作
  • シェル統合ポイント

WinUI 3 では、これらのエクスペリエンスとスタイルの多くが共通コントロールを通じて組み込みサポートされます。 WinUI 3 を使用できない場合は、 デザイン ツールキットWinUI ギャラリーで示されているスタイルをエミュレートすることを検討してください。

レイアウト

Windows アプリケーションは、ユーザーのニーズに合ったさまざまな構成で実行されます。 さまざまなディメンション、デバイス、ウィンドウ サイズ、DPI 設定、スケール設定にわたって、アプリケーションのウィンドウとページをテストします。 小さいディメンションにサイズ変更された場合でも、アプリケーションは期待どおりに動作する必要があります。

DPI 対応

WinUI アプリケーションは、実行されているディスプレイごとに自動的にスケーリングされます。 その他の Windows プログラミング テクノロジ (Win32、WinForms、WPF など) では、モニターごとの DPI スケーリングは自動的に処理されません。 モニターごとのDPIスケーリングをこれらのテクノロジーでサポートするための追加の作業が行われない場合、アプリケーションがぼやけて表示されたり、サイズが正しく表示されなかったりする可能性があります。 詳細については、「 Windows での高 DPI デスクトップ アプリケーション開発」を参照してください。

レスポンシブ レイアウト

レスポンシブ デザインの手法を使用して、さまざまなウィンドウ サイズに合わせてアプリ ページを最適化します。 パンまたはスクロールのガイドラインに従って、アプリ ウィンドウの大きさに関係なく、ユーザーが常にコンテンツにアクセスできるようにします。

UI 操作

Windows ユーザーは、さまざまな入力デバイスからアプリケーションを操作できます。また、Windows には、ユーザーが使い慣れている固有のシステム エクスペリエンスがあります。 アプリケーションがこれらのエクスペリエンスに準拠している場合、ユーザーはアプリケーションを確実に使用することができます。 アプリがこれらの規則に従っていない場合、ユーザーは混乱や不満を感じる可能性があります。

オブジェクト上のコマンド

コンテキスト メニュースワイプ コマンドキーボード ショートカットなどのオブジェクト上のコマンドを使用します。 Windows 11 では右クリックのコンテキスト メニューの動作が改善されているため、アプリでコンテキスト メニューを作成する場合は、最新のコンテキスト メニュー統合ガイダンスを参照してください。 WinUI テキスト コントロールでは、切り取り、コピー、貼り付けのコマンドが自動的に公開されますが、他のコントロールでは、これらのコマンドをサポートするために追加の作業が必要になる場合があります。

テキスト操作

アプリケーションにテキストがある場合、ユーザーはテキストを選択してコピーできることを期待します。 テキストが編集可能な場合は、切り取って貼り付けることも望みます。 一貫したショートカットを提供することで、ユーザーはタスクをより効率的に完了させることができます。 ユーザーがキーボード、マウスまたはトラックパッド、タッチ、ペンを使用してこれらのアクションを実行できることを確認します。

パンニングとスクロール

スクロールする必要のない 1 つのページ内にアプリケーションの UI が完全に収まるのは一般的ではありません。 少数の UI 要素しかない場合でも、ユーザーはアプリ ウィンドウのサイズを自由に変更し、一部の UI 要素を非表示にすることができます。 アプリケーションの UI でスクロールとパン (キーボード、マウス、トラックパッド、タッチ、ペンを使用) が適切にサポートされていることを確認して、表示されるウィンドウ領域の外に移動する可能性のある UI 要素にユーザーがアクセスできるようにします。

視覚スタイル

Windows 11 は、Windows 11 の設計原則 (簡単、穏やか、個人、親しみ、完全、一貫) に基づいて構築されています。 これらの原則に従ったエクスペリエンスは、Windows での優れたユーザー エクスペリエンスをもたらします。

素材: アクリルとマイカ

アクリルマイカは、対話型 UI コントロールに独特の "隠された" ビジュアル スタイルを提供するビジュアル素材です。 アクリルを使用して、コンテキスト メニュー、フライアウトなど、ユーザーが解除できる一時的なサーフェスに半透明のスタイルを適用します。 マイカを使用して、タイトル バーのような有効期間の長い UI サーフェスに繊細な適応型の濃淡を追加します。

アクリルとマイカの素材の詳細は、「Windows 11 でアプリを素晴らしくするためにできること」を参照してください。

濃色テーマと淡色テーマ

濃色テーマと淡色テーマを使用すると、ユーザーはアプリを視覚的な好みに合わせて調整できます。 Windows 11 では、純色の白と黒を避けて目に優しい色調に更新されており、より楽しい色使いになっています。 WinUI では、既定で濃色テーマと淡色テーマの切り替えがサポートされています (「XAML テーマ リソース」を参照)。 Win32 アプリについては、「Win32 アプリでの淡色テーマと濃色テーマのサポート」を参照してください。 (Win32 アプリのタイトル バーは、ダーク テーマに自動的に適応しません。必ず、この記事の タイトル バーのガイダンス に従ってください)。

更新された UI 要素

Windows 11 ジオメトリでは 、最新のアプリ エクスペリエンスがサポートされています。 徐々に丸くなる角、入れ子になった要素、および一貫性のある間隔の組み合わせにより、目的の統一性と使いやすさを重視した、ソフトで落ち着きがあり、親しみやすい効果が実現されています。

視覚的および動作的な変更は、WinUI 3 に組み込まれています。 WinUI 3 を使用して、Windows 開発チームが既に行った作業を活用できます。 WinUI 3 を使用できない場合は、 デザイン ツールキットWinUI ギャラリーで示されているスタイルをエミュレートすることを検討してください。

コンテキスト メニュー

コンテキスト メニューは、ユーザーが操作しているコントロールのコンテキストに関連するコマンドのメニューを表示するために、ユーザーが右クリックまたは長押し操作で呼び出すショートカット メニューです。 ユーザーは、Windows 全体で一貫したコンテキスト メニューの外観と動作が提供されることを求めています。 可能な限りプラットフォーム提供のコンテキスト メニューを使用して、システムの他の部分と一貫性を保つようにします。

アイコンとタイポグラフィ

Windows 11 では、アイコン ("Segoe Fluent アイコン") が更新され、アニメーション化されたアイコンのサポートが強化され、新しい UI フォント ("Segoe UI 変数") が追加されました。 Windows 11 での整合性を持たせるために、可能な限りこれらの新しいアイコンとフォントを使用します。 この新しいフォントは、よりソフトな形状を実現し、テキストの読みやすさが格段に向上しています。

Windows でのアイコンと文字体裁の詳細については、「Windows 11 でアプリを優れたアプリにするための操作」を参照してください。

ウィンドウの動作とスタイル

アプリケーションは、Windows が提供するフレームで実行されます。 ユーザーは、組み込みの Windows の外観と動作がアプリ ウィンドウ間で一貫性を持つ必要があります。 アプリが Windows 11 で期待どおりに表示され、機能することを確認するには、ここに記載されている機能のサポートを検討してください。

スナップ レイアウト

Windows 11 ではウィンドウ スナップが大幅に強化されており、[スナップ レイアウト] メニューは、ユーザーがウィンドウ スナップの機能を検出して使用するのに役立つ新機能です。 [スナップ レイアウト] メニューを使用して、さまざまなスナップ レイアウトでアプリをテストし、アプリがさまざまなスナップ サイズ (例: 画面の 1/2、1/3、1/4) をサポートしていることを確認します。

アプリの [スナップ レイアウト] メニューが既定で表示されない場合は、「Windows 11 上でデスクトップ アプリのスナップ レイアウトをサポート」を参照してください。これを有効にするために実行できる手順がいくつかあります。

タイトル バーとキャプション ボタン

ユーザーはタイトル バーとキャプション ボタン (最小化、最大化、閉じる) を操作して、アプリ ウィンドウのサイズ変更、移動、閉じます。 一貫性のあるエクスペリエンスは、ユーザーがアプリケーションをスムーズに使用するのに役立ちます。 Windows のタイトル バーとキャプション ボタンの設計については、Windows アプリのタイトル バーに関する記事を参照してください。

Windows アプリ SDK API を使用して、WinUI 3、.NET、WinForms、WPF アプリのタイトル バーとアプリ コンテンツを統合することができます。

丸い角

ほとんどの場合、Windows 11 では、アプリのウィンドウの角が既定で丸められます。 アプリ ウィンドウをカスタマイズして角が丸くない場合は、Windows 11 用デスクトップ アプリで丸い角を適用する方法をご覧ください。いくつかの対処法が記載されています。 また、ウィンドウの境界線と影をカスタマイズしないようにする必要があります。これにより、システムがウィンドウの角を丸めるのを防ぐことができます。

シェル統合ポイント

Windows シェル統合を使用すると、フォアグラウンドで実行されていない場合や画面上に表示されている場合でも、アプリのメリットを得ることができます。 アプリが Windows とうまく統合されると、アプリは他のアプリと共にユーザーのワークフローの一部になり、シームレスなエクスペリエンスの作成に役立ちます。

トースト通知

トースト通知は、ユーザーの画面の下部と通知センターに表示される Windows の通知です。

  • 通知をカスタマイズし、操作可能にし、通知がユーザーに役立つことを確認します。 ユーザーが知りたいことではなく、ユーザーが望むものを与えます。
  • ノイズの多い通知を避けます。 アプリの中断が多すぎると、ユーザーはアプリに対してこの重要な通信チャネルをオフにできます。
  • ユーザーの意図に答えます。 通知を選択すると、通知のコンテキストでアプリが起動する必要があります。 このガイドラインの唯一の例外は、ユーザーがバックグラウンド タスク (クイック返信など) にアタッチされている通知のボタンを選択した場合です。
  • 一貫した通知センター エクスペリエンスを提供します。 以前の通知をクリアして、通知センターを整理します。

トースト通知の詳細については、通知の設計の基本に関するページを参照してください。

パフォーマンスと基本原理

Windows ユーザーは、Windows アプリが優れたパフォーマンスと基本要素を示すことを期待しています。 アプリを設計して構築するときは、メモリ使用量、電力消費量、応答性、信頼性、および長期的な持続可能性への影響を最適化することに留意してください。 アプリケーションの基礎とパフォーマンスをテストおよび測定するための時間を割り当てることで、ユーザーが一流のエクスペリエンスを得られるようにします。

このセクションのベスト プラクティスに従うと、これらの条件全体で顧客の期待を満たすことができます。

詳細については、 パフォーマンスと基礎の概要を参照してください。 この記事では、「アプリケーションのパフォーマンスとは何か、なぜ重要なのか」や「Windows アプリケーションのパフォーマンスを測定するために使用できるツール」などの質問に回答します。また、アプリケーションが地球に与える影響を減らすことで、パフォーマンス エンジニアリングが持続可能性とどのように交差するかに関するケース スタディ、関連ブログ、サポート コミュニティ、情報にもリンクしています。

オペレーティング システムとハードウェアの最適化

Windows アプリは、さまざまな方法でビルド、パッケージ化、配信できます。 このセクションのベスト プラクティスは、ハードウェア構成全体でアプリケーションのこれらの側面を最適化するのに役立ちます。

MSIX アプリ アタッチと Azure Virtual Desktop

エンタープライズ環境でアプリを最適に実行するには、MSIX アプリアタッチのサポートを追加します。

MSIX アプリ アタッチを使用すると、物理マシンと仮想マシンの両方に MSIX アプリケーションを配信できます。 これは、クラウド上で実行されるデスクトップおよびアプリの仮想化サービスである Azure Virtual Desktop (AVD) 専用に作成されています。 MSIX アプリ アタッチと AVD を使用すると、ユーザーのサインイン時間を短縮し、企業のインフラストラクチャ コストを削減できます。

Arm 版 Windows

Windows は Arm デバイスで実行できます。 Arm PC は、バッテリ寿命の延長とモバイル データ ネットワークの統合サポートの恩恵を受けます。 また、これらの PC にはアプリケーションの互換性が十分に備わっており、既存の x86x64 のアプリケーションを変更せずに実行できます。

最適なパフォーマンスを得るために、フル Arm バージョンを構築するか、ネイティブ パフォーマンスの利点を最大限に活用するコードベースの部分を最適化することで、アプリでエネルギー効率の高い Arm プロセッサ アーキテクチャを最大限に活用できるようにします。 これらの手法の詳細については、 Arm 上の WindowsArm64EC for Windows 11 アプリの Arm を参照してください。

プッシュ通知

プッシュ通知を 使用すると、パフォーマンスに最適化された方法でクラウド サービスからアプリに情報を送信できます。 プッシュ通知には、直接通知、バッジ通知、クラウド サービスから送信されたトースト通知が含まれます。

  • ユーザーのデバイスのパフォーマンスを最適化するために常に実行したままにするのではなく、プッシュ通知を使用してアプリまたはクライアントをウェイクアップします。
  • 通知チャネルを使用して広告を送信しないでください。
  • retry-afterヘッダーを尊重する – この方法では、サービスを保護し、通知配信の成功を保証します。
  • 期限切れまたは失効したチャネルをシステムから削除します。 Windows Notification Service (WNS) は、期限切れまたは失効したチャネルの要求を処理しません。
  • WNS に対する突然の大量の要求のバーストを避けてください。 このパターンにより、応答が制限される可能性があります。
  • MS-CV ヘッダーを利用します。 このヘッダーは、エンドツーエンドの追跡可能性と診断に役立ちます。
  • 通知が機能しない場合のバックアップ メカニズムを用意します。
  • Azure Notification Hubs (ANH) を使用します。 ANH を使用すると、対象ユーザーのターゲット設定、通知のスケジュール設定、通知のブロードキャストなどのエンゲージメント機能にアクセスできます。 現在 Windows のみの開発者の場合、ANH を使用すると、通知インフラストラクチャを将来他のプラットフォームに簡単に移行できます。

アプリケーションの検出と管理

信頼性の高いインストール、更新、アンインストールのエクスペリエンスは、一貫した高品質のユーザー エクスペリエンスの重要な部分です。 次のベスト プラクティスは、ユーザーがアプリケーションを検出して管理するときに、アプリケーションが良好な印象を与えるのに役立ちます。

アプリケーションの検出

  • Microsoft Store にアプリを一覧表示すると、ユーザーがアプリを見つけやすくなります。
  • 複数のチャネル (Web サイトや Microsoft Store など) でアプリをホストする場合は、すべてのチャネルで一貫したアプリケーション ID と更新メカニズムを使用します。
  • Microsoft Store を通じてアプリを配布することで、ユーザーがより見つけやすくします。 Windows ユーザーは、Windows パッケージ マネージャー WinGet を使用してストア アプリにアクセスします。 Microsoft Store に公開しない場合でも、WinGet リポジトリを介して WinGet でアプリを簡単に検出できるようにすることができます。

インストールとアンインストール

  • ユーザーごとのインストールをサポートします。 このサポートにより、ユーザーはより簡単にインストールでき、UAC プロンプトを回避できます。
  • アプリケーションのインストールにエラーがなく、透過的で、ファイル管理に配慮していることを確認します。 アプリケーションのインストールでは、一時ファイルを放置しないでください。
  • 可能な場合は、インストールするために管理者特権のアクセス許可を要求したり、オペレーティング システムの再起動を要求したりしないようにします。
  • サイレント インストールをサポートします。 このサポートは、エンタープライズ環境でのアプリの管理性にとって重要です。
  • アプリが [ アプリ ] ->[インストールされているアプリ ] の一覧に表示されていることを確認します。
  • MSIX を使用して、シームレスなインストール、更新、アンインストールのユーザー エクスペリエンスを実現することを検討してください。 MSIX を使用すると、アプリのバイナリとデータが自動的に削除されます。 パッケージ化されたアプリでファイルとレジストリ エントリを処理する方法については、「Windows でパッケージ化されたデスクトップ アプリが動作するしくみについて」を参照してください。
  • パッケージ化されていないアプリの場合は、[設定] の [ アプリ ] ->[インストール済みアプリ ] リストを使用して、ユーザーがアプリケーションを簡単にアンインストールできることを確認します。 ユーザーがアプリケーションをアンインストールする場合は、スタート メニューのエントリ、ファイル、ディレクトリ、レジストリ エントリ、および一時ファイルも削除されていることを確認します。 アプリケーションをアンインストールするときに、データを保持するオプションをユーザーに提供することを検討してください。
  • アンインストール中に、アプリによってすべてのバイナリとアプリケーション データが削除されることを確認します。 ユーザーが作成したコンテンツは、 Documentsなどの場所に格納する必要があります。これは、アプリがアンインストールされた後でもユーザーが保持できます。
  • 再起動が必要になる可能性があるシステム バイナリのインストールや更新は避けてください。
  • RestartManager と統合して、OS 更新プログラム間で状態を保存および復元します。

更新プログラム

  • ユーザーにとって便利なときにアプリを再起動できるようにする更新メカニズムをサポートします。 Windows App SDK の Restart API を使用して WinUI 3 アプリの動作を管理することを検討してください。
  • 更新する必要がある重要な変更されたコンポーネントのみが更新メカニズムによってダウンロードされるようにします。 この方法により、必要なネットワーク帯域幅が最小限に抑えられます。
  • アプリを更新して修復する方法を提供します。 更新プログラムの修復を自動的に処理する MSIX を検討してください。 詳細については、「アプリの自動更新と修復」を参照してください。
  • プッシュ通知ベースの更新プログラムを使用するか、アプリの起動時または再起動時に利用可能な更新プログラムを確認することを検討してください。

その他のリソース

ユーザー補助

アクセシビリティの高い Windows アプリケーションは、できるだけ多くのユーザーに対して豊富で 包括的なエクスペリエンス をサポートします。 この組み込みは、障碍のある方 (一時的および永続的)、個人の好み、特定の作業スタイル、状況の制約 (共有作業スペース、運転、調理、まぶしさなど) にまで及びます。

実際、世界保健機関は、障碍を個人の特徴としてではなく、人とその周囲の物理的およびデジタルの世界との間の不一致の相互作用として定義しています。

アクセシビリティは、人とビジネスの両方に適しています

アクセシビリティは責任です

世界中で 10 億人以上の人々が何らかの障碍を持っています。 しかし、私たちの経済や社会に完全に参加するために必要な支援技術にアクセスできるのは、10人に1人だけです。 一般的に、障碍者の失業率は、障碍のない人の 2 倍です。 障瞝は、状況、一時的、永続的のいずれであっても、いつでも私たちに影響を与える可能性があります。

アクセシビリティは機会です

Microsoft アクセシビリティ アプローチ データシートによると、職場で障碍のある人を雇用およびサポートするためのベスト プラクティスを採用する包括的な組織は、業績が同業他社を上回り、優秀な人材の獲得と維持に優れています。 世界の従業員の75% であるミレニアル世代は、通常、その価値観を反映する雇用主を選びます。 ダイバーシティとインクルージョンは、そのリストのトップです。

アクセシビリティの組み込み

Windows アプリにアクセシビリティを組み込むことで、ユーザーエンゲージメントが最大化され、製品の満足度が向上し、製品のロイヤルティが促進されます。 アクセシビリティの高いエクスペリエンスを事前に設計して実装すると、通常、長期的に開発とメンテナンスのコストが削減されます。

アクセシビリティ対応の Windows アプリの構築に関する詳細なガイダンスについては、「Windows 11 および Windows 10 でのアクセシビリティ」を参照してください。

アクセシビリティ テスト

Accessibility Insights は、開発者がアプリやサービスのアクセシビリティをテストするための強力なツール スイートです。 アクセシビリティをテストするには、次のツールを使用します。

  1. Accessibility Insights for Windows で調べます。 アクセシビリティ ツリーを調べて、ラベルのヒント、間違った役割、その他の問題など、簡単に改善できる点を見つけます。
  2. Accessibility Insights for Windows · Accessibility Insights でのイベント監視。 イベント監視の詳細については、UI オートメーション コントロール型のサポートに関するページを参照してください。
  3. PR または CI/CD で Accessibility Insights 自動チェックを実行します。 詳細については、「axe-pipelines-samples」を参照してください。
  4. 見つけたバグはすべてアクセシビリティに直接影響を与えるので修正します。

セキュリティとプライバシー

安全でないアプリケーションは、攻撃者が悪意のあるアクティビティを実行できるようにするエントリ ポイントになる可能性があります。 アプリにセキュリティのバグがない場合でも、不適切なアクターはアプリを使用して、フィッシングやその他の形式のソーシャル エンジニアリングを通じて攻撃を開始し、セキュリティとプライバシーの境界に違反する可能性があります。 このセクションのベスト プラクティスは、セキュリティとユーザーのプライバシーに関連するリスクを軽減するのに役立ちます。

セキュリティ ガイドライン

  • すべての開発のセキュリティ開発ライフサイクルに従います。
    • 脅威モデリングは、セキュリティ上の欠陥を回避するのに役立ちます。
    • セキュリティで保護されたライブラリ、言語、ツールを使用すると、実装上の欠陥が最小限に抑えられます。
    • セキュリティで保護された既定値は、ユーザー エラーによって発生するセキュリティの問題を防ぐことができます。
  • アプリを "インストール" するために管理者特権を要求しないでください。
    • 理想的には、アプリは管理インストールとユーザーごとのインストールの両方をサポートする必要があります。
    • MSIX パッケージの使用は、この目標を達成するための 1 つの方法です。
  • アプリを "実行" するために管理者特権を要求しないでください。
    • 特定の機能に管理特権が必要な場合は、それらを独自のプロセスに分離して攻撃対象領域を減らすことを 検討してください
  • C#、JavaScript、Rust など、メモリの安全性が保証された言語を使用します。特に、信頼されていないデータの解析などの危険なコード パスに使用します。
  • コンパイラとツールセットによって提供されるすべてのセキュリティ軽減策を使用します (Visual C++ の場合は、Microsoft Visual C++ のセキュリティ機能に関するページを参照してください)。
  • 暗号化やその他のセキュリティに依存するコードには、選択した言語またはフレームワークの標準ライブラリを常に使用してください。 独自のビルドを試みないでください。
  • インストーラーだけでなく、アンインストーラー (存在する場合) も含め、アプリケーションのすべてのコンポーネントにデジタル署名します。 また、アプリを構成するすべての EXE、DLL、その他の実行可能ファイルに署名します。
    • デジタル署名を使用すると、ユーザーはアプリの信頼性を確認でき、エンタープライズ管理者は Windows Defender アプリケーション制御を使用してデバイスをセキュリティで保護できます。
    • MSIX パッケージの使用は、この目標を達成するための 1 つの方法です。
  • すべてのネットワーク通信が SSL などのセキュリティで保護されたトランスポート経由であることを確認します。
  • 攻撃者によって強制された場合でも、誤って有害なアクションを実行しないようにユーザーを保護するのに役立つガードレールやその他の軽減策を提供します。
    • 単純な "X を実行してもよろしいですか? ユーザーが [はい] をクリックするように条件付けされているため、通常は [はい] / [いいえ] ダイアログは有効ではありません。

最新のアプリのほとんどは、さまざまな理由で大量のデータ (個人データを含む) を収集して使用します。 テレメトリ、製品の改善、収益化は、データを使用する 3 つの一般的な理由ですが、ユーザーと規制機関は同様に、これらのプラクティスのプライバシーへの影響に対してより敏感になっています。 アプリによって収集および使用されるデータに対する透明性と制御が期待されます。 次のヒントを使用して、ユーザーのプライバシー ニーズを満たします。

プライバシーのガイドライン

  • アプリが正確なプライバシー ポリシーを提供していることを確認します。 理想的には、カジュアルな対象ユーザー (ユーザー) 向けに作成された要約ドキュメントと、長い形式の法的ポリシー (弁護士向けに作成) の両方を提供します。
  • アプリが利用可能な市場でのプライバシー規制について理解します。 アプリが開示、使用権、削除要求、その他のプライバシーに関する懸念事項を満たすか、それを超えているか確認します。
  • アプリのエクスペリエンスを完了するために必要な最小限の個人データを収集します。
    • "念の場合" にデータを収集しないでください。顧客のエクスペリエンスの向上や収益化の促進など、すべてのデータを収集する正当な理由があります。
  • 個人データを収集して保存する前に、常にユーザーの同意を得ます。 ユーザーに、将来の意思決定を元に戻す簡単な方法を提供します。 同意ダイアログで [いいえ] ボタンよりも [はい] ボタンを大きくしたり、目立つようにしたりするなどの "ダーク パターン" は避けてください。
    • 特定の種類のデータに対して必要な具体的な開示と同意を決定するには、該当する規制に相談してください。 たとえば、一部の地域では、保存したデータをユーザーが表示、変更、または削除できる場合があります。
  • ネットワーク経由でデータを送信する必要がある場合は、TLS 経由の接続など、セキュリティで保護された接続を常に使用します。
  • Web サイトなどの一元的な場所に個人データを格納しないようにします。 個人データを保存する必要がある場合は、保存するデータの量を最小限に抑え、厳密に必要な期間だけ保存し、安全に暗号化されるようにします。
  • 使用するサード パーティ製のライブラリまたは SDK にも適切なプライバシー プラクティスがあることを確認します。 この懸念は、単なる広告 SDK に限定されるものではなく、インターネットに接続するすべてのライブラリがアプリのユーザーのプライバシーに影響を与える可能性があります。