xDB Programming:現在のセッションで蓄積したプロファイルのスコアの確認する

samatsu 5/13/2016 1321 N/A xDB Programming

プロファイルキーをAPIを使用してスコアリングするではプログラムを使って現在のインタラクションでプロファイルのスコアリングを実施する方法を紹介しました。今回は今のセッションで蓄積したプロファイルのスコア値を確認するサンプルスニペットをご紹介します。

動作確認環境は Sitecore 8.1 です。

早速ですが、サンプルのスニペットは次の通りです。特に難しいことはなく、 Tracker.Current.Interaction.Profiles の中身をすべて参照しているだけです。 Profiles["プロファイル名"]のように特定のプロファイルの状況だけ確認することもできます。Profileクラスにはサンプルで記載のある通りスコアリングされた回数(プロファイルが割り当てられたページを閲覧した回数) や、マッチしたパターンカードアイテムの情報にもアクセスすることができます。

var profiles = Tracker.Current.Interaction.Profiles;

foreach (var name in profiles.GetProfileNames())
{
    var profile = profiles[name];
    foreach (var profilekeyValue in profile)
    {
        // 各プロファイルキーとスコアを確認したい場合
        string key = profilekeyValue.Key;
        float val = profilekeyValue.Value;
    }
    var a1 = profile.Count; // スコアリング回数
    var a2 = profile.PatternId; // マッチしたパターンカードアイテムのID
    var a3 = profile.PatternLabel; // マッチしたパターンアイテムの名前
    var a4 = profile.ProfileName; // プロファイルアイテムの名前
    var a5 profile.Total; // スコアの合計
}

非常に簡単ですがサンプルの紹介は以上となります。もちろん、上記コードを使う場合は、Tracker.IsActiveプロパティを参照してxDBが有効であることをチェックするようにしてください。