Show Menu
トピック×

Analytics

After you add the library to your project, you can make any of the Analytics method calls anywhere in your app.
必ずクラスにインポート ADBMobile.h してください。

Enable mobile application reports in Analytics

コードを追加する前に、次の手順を完了してモバイルアプリケーションのライフサイクル追跡を有効にするよう Analytics 管理者に依頼してください。この手順を完了すると、開発を開始する際にレポートスイートで指標を収集できるようになります。
  1. Open Admin Tools > Report Suites and select your mobile report suite(s).
  2. Click Edit Settings > Mobile Management > Mobile Application Reporting .
  3. Click Enable Latest App Reports .
    Optionally, you can also click Enable Mobile Location Tracking and Enable Legacy Reporting and Attribution for background hits .
これで、ライフサイクル指標を収集する準備が整い、「モバイルアプリケーションレポート」がマーケティングレポートインターフェイスの​ レポート ​メニューに表示されます。

新しいバージョン

モバイルアプリケーションレポートの新しいバージョンは定期的にリリースされます。新しいバージョンは自動的にレポートスイートに適用されないので、これらの手順を繰り返してアップグレードを実行する必要があります。新しい Experience Cloud 機能をアプリケーションに追加する際には、毎回これらの手順を繰り返して最新の設定が適用されるようにすることをお勧めします。

Lifecycle metrics

ライフサイクル指標をアプリケーションで収集するには、次の例のように、アプリケーションがアクティベートされる部分に呼び出しを追加します。

default.jsのWinJS

app.onactivated = function (args) { 
  if (args.detail.kind === activation.ActivationKind.launch) { 
   ... 
   // launched and resumed stuff  
   ADBMobile.Config.collectLifecycleData(); 
  } 
}; 
app.oncheckpoint = function (args) { 
  ADBMobile.Config.pauseCollectingLifecycleData(); 
}

App.xaml.csのC#

public App() 
{ 
    this.InitializeComponent(); 
    this.Resuming *= OnResuming; 
    this.Suspending *= OnSuspending; 
} 
protected override void OnLaunched(LaunchActivatedEventArgs e) 
{ 
    ... 
    ADBMobile.Config.CollectLifecycleData(); 
    ... 
} 
private void OnResuming(object sender, object e) 
{ 
    ... 
    ADBMobile.Config.CollectLifecycleData(); 
    ... 
} 
private void OnSuspending(object sender, SuspendingEventArgs e) 
{ 
    ... 
    ADBMobile.Config.PauseCollectingLifecycleData(); 
    ... 
}

App.xaml.cppのC/CX

App::App() 
{ 
 InitializeComponent(); 
 Resuming *= ref new EventHandler<Object ^>(this, &App::OnResuming); 
 Suspending *= ref new SuspendingEventHandler(this, &App::OnSuspending); 
} 
void App::OnResuming(Object ^sender, Object ^args) 
{ 
 ... 
 ADBMobile::Config::CollectLifecycleData(); 
 ... 
} 
void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e) 
{ 
 ... 
 ADBMobile::Config::PauseCollectingLifecycleData(); 
 ... 
} 
void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) 
{ 
 ... 
 ADBMobile::Config::CollectLifecycleData(); 
 ... 
}

If CollectLifecycleData() is called twice in the same session, then your application will report a crash on every call after the first. アプリケーションがシャットダウンされると、正常終了を示すフラグが SDK によって設定されます。If this flag is not set, CollectLifecyleData() reports a crash.

Events, props, and eVars

If you've looked at the ADBMobile Class and Method Reference, you are probably wondering where to set events, eVars, props, heirs, and lists. SDK methods バージョン 4 では、これらの種類の変数をアプリケーション内で直接割り当てられなくなっています。代わりに、SDK は、コンテキストデータと処理ルールを使用して、レポート用にアプリデータを Analytics 変数にマップします。
処理ルールには次の利点があります。
  • App Store に更新を提出することなく、データマッピングを変更することができます。
  • レポートスイートに固有の変数を設定する代わりに、意味のある名前をデータに使用できます。
  • 追加のデータの送信にはほとんど影響しません。これらの値は、処理ルールを使用してマップされるまではレポートに表示されません。
変数に直接代入していた値をコンテキストデータに追加する必要があります。

処理ルール

処理ルールは、コンテキストデータ変数で送信したデータを、レポート用に eVar や prop などの変数にコピーするために使用します。
「名前空間」を使用してコンテキストデータ変数をグループ化することをお勧めします。これにより論理的な順序を維持できます。例えば、ある製品に関する情報を収集する場合、以下の変数を定義できます。
"product.type":"hat" 
"product.team":"mariners" 
"product.color":"blue"

コンテキストデータ変数は、処理ルールインターフェイスでアルファベット順に並べ替えられます。そのため、名前空間を使用することで、同じ名前空間に属している変数がすぐにわかります。
また、コンテキストデータキーの名前に evar や prop の番号が使用されている場合もあるとの報告があります。
"eVar1":"jimbo"

この命名方法を使用すると、処理ルールで 1 回限りのマッピングを実行するときの手間は若干減りますが、コードが読みにくくなるので、デバッグや将来のコード更新が困難になる可能性があります。**​そのため、キーと値にはわかりやすい名前を付けることを強くお勧めします。
"username":"jimbo"

カウンターイベントを定義するコンテキスト変数の値は「1」に設定します。
"logon":"1"

増分イベントを定義するコンテキストデータ変数では、増分する値を設定できます。
"levels completed":"6"

アドビは名前空間を予約しま a. す。 このわずかな制約以外で、競合を回避するために必要なのは、コンテキストデータ変数をログイン会社内で一意にすることだけです。

Products variable

モバイルSDK products に設定するには、特別な構文を使用する必要があります。 「 Products Variable 」を参照。

(Optional) Enable offline tracking

To store hits when the device is offline, you can enable offline tracking in the ADBMobileConfig.json config . オフライン追跡を有効にする前に、設定ファイルの参照で説明されているタイムスタンプ要件に注意してください。

Geo-location and points of interest

位置情報は位置データ(緯度と経度)に加え、事前定義された目標点を測定する場合に役立ちます。Each TrackLocation call sends:
  • 緯度/経度および POI( ADBMobileConfig.json 設定ファイルで定義されている POI 内の場合)。これらの情報は、自動レポート作成のためにモバイルソリューション変数に渡されます。
  • コンテキストデータとして渡される中心からの距離と精度。これらの情報を収集するには、処理ルールを使用します。
位置を追跡する方法は次のとおりです。
var ADB = ADBMobile; 
ADB.Analytics.trackLocation(37.75345, -122.33207, null);

ADBMobileConfig.json 設定ファイルで次の POI が定義されている場合:
"poi" : [ 
            ["San Francisco",37.757144,-122.44812,7000], 
        ]

デバイスの位置が定義されている点から 7000 メートルの半径内にあると判断された場合、値が「San Francisco」に設定された a.loc.poi コンテキストデータ変数が TrackLocation ヒットと共に送信されます。また、 a.loc.dist コンテキスト変数が、定義された座標からの距離(メートル単位)と共に送信されます。

Lifetime value

ライフタイム値を使用して、各ユーザーのライフタイム値を測定し、ターゲットを設定できます。 TrackLifetimeValueIncrease で値を送信するたびに、その値が既存の値に追加されます。ライフタイム値はデバイス上に保存され、 GetLifetimeValue を呼び出していつでも取得することができます。この値を使用して、全期間の購入、広告ビュー、ビデオ完了、ソーシャル共有、写真のアップロードなどを保存できます。
// Lifetime Value Example 
var ADB = ADBMobile; 
var purchasePrice = 39.95; 
var cdata = new Windows.Foundation.Collections.PropertySet(); 
cdata["ItemPurchaseEvent"] = "ItemPurchaseEvent"; 
cdata["PurchaseItem"] = "Item453"; 
cdata["PurchasePrice"] = purchasePrice; 
ADB.Analytics.trackLifetimeValueIncrease(purchasePrice, cdata);

Timed actions

時間計測アクションを使用すると、アクションの開始から終了までのアプリ内時間と合計時間を測定できます。SDK は、アクションが完了するまでにかかる各セッションの時間と全セッションの合計時間を計算します。これを使用して、セグメントを定義し、購入までの時間、パスレベル、チェックアウトフローなどを比較することができます。
  • アプリの開始から終了までの合計秒数 - 複数のセッションにまたがって計測
  • 開始から終了までの合計秒数(クロックタイム)
// Timed Action Start Example 
var ADB = ADBMobile; 
var cdata = new Windows.Foundation.Collections.PropertySet(); 
cdata["ExperienceName"] = experience; 
ADB.Analytics.trackTimedActionStart("TimeUntilPurchase", cdata);

// Timed Action Update Example 
var ADB = ADBMobile; 
var cdataUpdate = new Windows.Foundation.Collections.PropertySet(); 
cdataUpdate["ImageLiked"] = imageName; 
ADB.Analytics.trackTimedActionStart("TimeUntilPurchase", cdata); 

// Timed Action End Example 
var ADB = ADBMobile; 
ADB.Analytics.trackTimedActionEnd("TimeUntilPurchase");