1. 統合サービス層

コンタクトファクトリークラス

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

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

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

以下はデフォルトインスタンスの動作例です。ECSからユーザーのIDを得た場合、そのIDを持つTracker.Current.Contact ( Tracker.Current.Session.Identify()メソッドを用いて)識別し、そこからContactFactoryクラスがこのIDを返します。外部ユーザーから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; }

この記事を改善するための提案がある場合は、 お知らせください!