我正在使用 Sitecore Social Connect 让用户使用 Facebook 和 Twitter 登录我的网站。Sitecore 的文档详细说明了如何使用营销目标发布到用户的时间线,但我想知道是否还有其他方法可以做到这一点。我可以直接通过 API 做些什么吗?几乎任何其他选择都值得探索。没有大量关于此的文档。
3 回答
社交连接消息必须与内容项或营销目标相关联,但可以使用 API 触发营销目标:
GoalUtil.RegisterEventParameters("Goal Name", new Dictionary<string,string>());
这触发了目标,并具有允许您替换消息文本中的标记的附加功能。例如,如果您定义了一个名为“市长”的目标,并使用以下文本创建关联的 Facebook 消息:"I've just become mayor of $place."
,您可以通过执行以下操作使其出现在用户的 Facebook 墙特定文本上:
var tokens = new Dictionary<string, string>();
tokens.Add("place", "New York");
GoalUtil.RegisterEventParameters("Mayor", tokens);
这条消息将出现在用户墙上:“我刚刚成为纽约市长。” 请注意,美元符号出现在消息中,但没有出现在添加到字典中的令牌键值中。GoalUtil 在命名空间中:Sitecore.Social.Core.Publishing.Utils,在 Sitecore.Social.Core.dll 中。
此外,当消息与目标相关联时,会向目标添加以下规则:
where true (actions always execute)
post associated messages
您可以用不同的逻辑替换始终为真的条件,可能使用您编写的规则引擎条件,以限制消息以满足所需的业务逻辑。
我们使用 facebook js API 本身来实现这一点:
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
var facebookAppId = '<%=FacebookDefaultAppId %>';
FB.init({ appId: facebookAppId, status: true, cookie: true, xfbml: true });
function openFbPopUp() {
FB.ui({
method: 'feed',
name: 'Your Site Name',
caption: ' ',
link: document.URL, // Current Url
description: $('#quotes').html(),
// Description from the sitecore item which was available in the same page
display: 'popup'
});
return false;
}
</script>
FacebookDefaultAppId - 是在我们设置 facebook 应用程序详细信息的 sitecore 项目中设置的应用程序 ID(应用程序 ID):
我们在 facebook 中为创建的应用程序获取了这些信息:
说实话,这个解决方案与 sitecore 无关,但由于我们在 sitecore 中管理应用程序密钥,所以我从那里将其拉入,而不是将其保存在其他地方。
当触发 js 时(比如单击按钮),这会导致以下结果:
Sitecore Social Connected API was introduced in the 1.3.1 version. The API documentation is available here: http://sdn.sitecore.net/Products/Social%20Connected%20Module/Social%20Connected%201,-d-,3/Documentation.aspx