Xamarin.Forms のインストゥルメント化

AppDynamics.Agent.Forms を使用して Xamarin.Forms 要素をインストゥルメント化できるようになりました。NuGet パッケージの Xaram.Forms を追加する場合は、「Xamarin アプリケーションのインストルメンテーション」を参照してください。[NO TITLE FOUND]

ページトラッキング

Xamarin.Forms を使用すると、ページの使用状況をトラッキングし、セッションタイムラインでユーザがアプリケーションをどのように操作しているかを確認できます。

ページをトラッキングするには、モニターする各ページのコンストラクタから TrackPage を呼び出す必要があります。

public partial class MyPage : ContentPage
{
public MyPage()
{
InitializeComponent();
AppDynamics.Agent.Forms.PageTracker.TrackPage(this);
}
}

UI 要素のトラッキング

次の UI 要素とのユーザインタラクションをトラッキングできます。

  • ボタン
  • エントリ(Entries)
  • リストビュー

UI 要素をインストゥルメント化するには、次の手順を実行します。

  1. ビューにプロパティをアタッチします。

    appd:UiInstrumentation.IsInstrumented="True"
  2. 名前空間を追加します。

    xmlns:appd="clr-namespace:AppDynamics.Agent.Forms;assembly=AppDynamics.Agent.Forms"

以下は、インストルメント化された UI 要素を含む xaml ファイルの例です。

<ContentPage
xmlns:appd="clr-namespace:AppDynamics.Agent.Forms;assembly=AppDynamics.Agent.Forms" >
<StackLayout>
<Button appd:UiInstrumentation.IsInstrumented="True" Clicked="OnButtonClicked" />
<Entry
appd:UiInstrumentation.IsInstrumented="True" />
<ListView
appd:UiInstrumentation.IsInstrumented="True">
<ListView.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>Item l</x:String>
<x:String>Item 2</x:String>
</x:Array>
</ListView.ItemsSource>
</ListView>
</StackLayout>
</ContentPage>

また、コードビハインド(xaml.cs ファイル)からプロパティをインストゥルメント化することもできます。

using AppDynamics.Agent.Forms;
...
var button = new Button();
button.SetValue(UiInstrumentation.IsInstrumentedProperty, true);

IsInstrumented プロパティは、次のイベントをトラッキングします。

  1. ボタン:ボタンがクリックされる
  2. リストビュー:項目が選択される
  3. エントリ:エントリがフォーカス/フォーカス解除される