FireMonkey での AppAnalytics の使用

提供: RAD Studio
移動先: 案内検索

FireMonkey アプリケーションの設計 への移動


RAD Studio では、Delphi および C++Builder アプリケーションでサポートされているすべてのターゲット プラットフォーム(Win32、Win64、MacOSX、iOS、Android)向けに、FireMonkey に AppAnalytics が統合されています。

AppAnalytics は、アプリケーションを顧客がどのように使用しているかを把握するのに役立ちます。AppAnalytics は、OS バージョンやクラッシュしたセッションなどの有益な情報を提供します。また、独自のカスタム イベントを追跡できる機能もあります。これは、開発者にとって強力なツールとなります。

FireMonkey での AppAnalytics の導入

アプリケーションに TAppAnalytics コンポーネント AppAnalytics.png をドロップする必要があります。その後、[オブジェクト インスペクタ]ApplicationID を追加する必要があります。

メモ: アプリケーションで AppAnalytics を使用できるようにするには、AppAnalytics アカウントアプリケーション ID を取得する必要があります。

AppAnalytics がアクティブになったら、数分後には AppAnalytics Web インターフェイスで使用状況データが得られます。

AppAnalytics でのデータ収集を有効化/無効化する

FireMonkey における AppAnalytics の実装では、TAppAnalytics.Enabled プロパティを使用して、使用状況データの追跡をアクティブ化または非アクティブ化します。

ユーザーが初めて AppAnalytics を有効化すると、プライバシーに関する注意が表示されて、ユーザーに許可を求めます。使用状況データの追跡が行われるのは、このダイアログ ボックスでユーザーが同意した場合のみです。同意しなければ、追跡はアクティブになりません。

PrivacynoticeFMX.png

メモ: この画像には、プライバシーに関する注意のデフォルト テキストが表示されています。ただし、このテキストは、TAppAnalytics.PrivacyMessage プロパティで変更できます。

ユーザーが同意すると、AllowTrackingTrue に設定され、ユーザーが追跡を無効にするまで、AppAnalytics によって使用状況データが収集および送信されます。

ただし、FireMonkey では、AppAnalytics コンポーネントがユーザーの許可を自動的に登録することはありません。そのため、フォームの SaveState などのメカニズムを使って登録を管理し、ユーザーの許可を保管して後のアプリケーション セッションでも使用できるようにする必要があります。

警告: 開発者もユーザーも、個人情報や個人を特定できる情報をこの接続で送信してはなりません。そのような情報の送信はプライバシー ポリシーに違反します。

TAppAnalytics コンポーネントがどのように FireMonkey においてプライバシーを施行するのか、詳細については、「FireMonkey で AppAnalytics に対するユーザーの同意を得る方法」を参照してください。

FireMonkey における AppAnalytics の追跡オプションを構成する

AppAnalytics が自動的に収集するデータは、TAppAnalytics.Options プロパティのパラメータを任意の組み合わせで選択して決めることができます。

次の状況を追跡することができます。

  • ユーザーが使用状況データの追跡を有効化/無効化したとき(AppStart/AppExit)。
  • ウィンドウまたはフォームがアクティブになったとき(WindowActivated)。
  • アプリケーションで例外が発生したとき(Exception)。
  • ビジュアル コントロールにフォーカスが移ったとき(ControlFocused)。これは、アプリケーションのコンポーネントの使用状況を追跡するのに役立ちます。

さらに、カスタム イベントやメカニズムを定義して、イベントやそのデータを記録することもできます(Custom)。

その他の構成オプション

CacheSize を使用して、AppAnalytics で最大何件のイベントを収集したら、サーバーに送信して分析するかを指定することができます。

また、AppAnalytics が収集したデータをサーバーに自動的に送信する間隔を指定することもできます。この間隔は、UpdateInterval プロパティに設定します(単位はミリ秒)。

どちらのプロパティもデフォルトは 0 です。

警告: プロパティ CacheSizeUpdateInterval に対しては、常にデフォルト値と異なる値を設定することを推奨します。

サーバーへデータを送信する

データがどのようなときに AppAnalytics Web インターフェイスに送信されるかを以下に挙げます。

TAppAnalytics.EnabledTrue に設定されていて、ユーザーがプライバシーに関する注意のウィンドウで[Yes]をクリックした場合:

  1. UpdateInterval の値に関係なく、CacheSize が定義されたエントリに達したとき
  2. CacheSize の値に関係なく、UpdateInterval で定義された時間が経過するたび
  3. TAppAnalytics.Enabled プロパティが True から False に変化したとき(アプリケーションが開いている場合を含む)
  4. 正常な停止によりアプリケーションが閉じられたとき

カスタム イベントを追跡する

開発者は、AppAnalytics を使用してカスタム イベントを作成し、ユーザーがアプリケーションをどのように使用しているかについてより詳しい情報を得ることができます。

カスタム イベントを記録する手順は以下のとおりです。

  1. 記録したいイベント データを格納する TCustomEventContext オブジェクトを作成します。TCustomEventContext オブジェクトは 4 つのパラメータ(3 つの文字列と 1 つの Double)を受け取ります。パラメータの名前は CategoryActionTextValue です。
    • Category を使用してイベントの分類やグループ化を行います。
    • Action を使用して同じカテゴリ内のアクションを区別します。
    • Text を使用して特定のアクションや値のラベルを作成します。
    • Value を使用してイベントが発生したときに値を取得します。
      メモ: 文字列はどれも空であってはなりません。
  2. TCustomEventContext オブジェクトを TAnalyticsManager.RecordActivity メソッドに渡してイベントを記録します。

データがサーバーに送信されたら、アプリケーションの[Custom Events]タブに情報が表示されます。[Category]をクリックして展開すると、そのイベントの詳細情報が表示されます。

具体的な使い方は、TCustomEventContext を参照してください。

関連項目

コード サンプル