ContactFactoryクラス

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

ContactFactoryクラスは、現在のランタイム ユーザーのIDを取得するために使用されます。デフォルトの実装は、トラッキングのためにSitecore Analyticsに依存しています。これがニーズに合わない場合は、ContactFactoryクラスを拡張し、GetContactメソッドをオーバーライドすることで変更できます。

以下は、デフォルトインスタンスの動作の例です。ECSからユーザーのIDを取得した場合は、そのIDでTracker.Current.Contactを ( Tracker.Current.Session.Identify()メソッドを使用して) 識別し、その時点からこのIDがContactFactoryクラスによって返されます。外部ユーザーからIDを使用できない場合は、Sitecore Analyticsによって作成されたIDが代わりに使用されます。

public virtual string GetContact()
{
if (Tracker.Current == null)
{
if (HttpContext.Current != null &&
HttpContext.Current.User != null)
{
return HttpContext.Current.User.Identity.Name;
}

return System.Threading.Thread.CurrentPrincipal.Identity.Name;
}
var user = Tracker.Current.Contact.Identifiers.Identifier;
if (string.IsNullOrEmpty(user))
{
  user = Sitecore.Data.ID.Parse(Tracker.Current.Contact.ContactId).ToString();
}
return user;
}
この記事を改善するための提案がある場合は、 お知らせください!