Xamarin.Forms 実験フラグ

新しい Xamarin.Forms 機能が実装されると、実験フラグの後ろに配置されることがあります。 これにより、エンジニアリング チームは、安定したリリースに移行する前に機能 API を変更しながら、より迅速に新機能をユーザーに提供できます。 その後、機能が安定したリリースに移行すると、実験フラグが削除されます。

Xamarin.Forms には、次の実験フラグが含まれています。

  • Shell_UWP_Experimental

実験フラグの背後にある機能を使用するには、アプリケーションでフラグ (フラグ) を有効にする必要があります。 実験フラグを有効にするには、次の 2 つの方法があります。

  • プラットフォーム プロジェクトで実験フラグを有効にします。
  • App クラスで実験フラグを有効にします。

警告

フラグを有効にせずに実験フラグの背後にある機能を使用すると、アプリケーションで、有効にする必要があるフラグを示す例外がスローされます。

プラットフォーム プロジェクトでフラグを有効にする

この Xamarin.Forms.Forms.SetFlags メソッドを使用して、プラットフォーム プロジェクトで実験フラグを有効にすることができます。

Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");

SetFlags メソッドは、iOS の AppDelegate クラス、Android の MainActivity クラス、および UWP の App クラスで呼び出す必要があります。

重要

Forms.Init メソッドが呼び出される前に、プラットフォーム プロジェクトで実験フラグを有効にする必要があります。

Xamarin.Forms.Forms.SetFlags メソッドは、string 配列引数を受け取ります。これにより、1 つのメソッド呼び出しで複数の実験フラグを有効にすることができます。

Xamarin.Forms.Forms.SetFlags(new string[] { "Shell_UWP_Experimental", "AnotherFeature_Experimental" });

警告

後続の呼び出しでは前の呼び出しの結果が上書きされるため、SetFlags メソッドを複数回呼び出すことはありません。

App クラスでフラグを有効にする

Device.SetFlags メソッドを使用して、共有コード プロジェクトの App クラスで実験フラグを有効にすることができます。

Device.SetFlags(new string[]{ "Shell_UWP_Experimental" });

Device.SetFlags メソッドは、IReadOnlyList<string> 引数を受け取ります。これにより、1 つのメソッド呼び出しで複数の実験フラグを有効にすることができます。

Device.SetFlags(new string[]{ "Shell_UWP_Experimental", "AnotherFeature_Experimental" });

警告

後続の呼び出しでは前の呼び出しの結果が上書きされるため、SetFlags メソッドを複数回呼び出すことはありません。

古い試験的なフラグ

次の表に、現在一般公開されている機能の実験フラグと、実験フラグが削除された Xamarin.Forms リリースを示します。

フラグ Xamarin.Forms リリース
AppTheme_Experimental 4.8
Brush_Experimental 5.0
CarouselView_Experimental 5.0
CollectionView_Experimental 4.3
DragAndDrop_Experimental 5.0
FastRenderers_Experimental 4.0
IndicatorView_Experimental 4.7
Markup_Experimental 5.0 (Xamarin Community Toolkit に移行しました)
MediaElement_Experimental 5.0 (Xamarin Community Toolkit に移行しました)
RadioButton_Experimental 5.0
Shapes_Experimental 5.0
Shell_Experimental 4.0
StateTriggers_Experimental 4.7
SwipeView_Experimental 5.0
Visual_Experimental 3.6