2013-09-06 3 views
2

Я использую Sitecore Social Connect для входа пользователей на мой сайт, используя Facebook & Twitter. Документация Sitecore содержит подробные инструкции о том, как отправлять сообщения на временную шкалу пользователя с использованием маркетинговых целей, но мне интересно, есть ли другой способ сделать это. Я могу сделать это напрямую через API? Практически любые другие варианты стоили бы изучить. В этом нет тонны документации.Публикация на Facebook с Sitecore Social Connect

ответ

1

Социальные подключены сообщения должны быть связаны либо с элементами контента или маркетинговых целей, но можно запустить маркетинговую цель с помощью 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 

Вы можете заменить всегда истинное состояние с иной логикой, возможно, с помощью Rules Engine условия, которые вы создали, чтобы ограничивать сообщения для соответствия требуемой бизнес-логике.

0

Мы использовали себя в facebook JavaScript API Карт Google для достижения этой цели:

<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 - был идентификатор приложения (Id Application) устанавливается в пункте Sitecore, где мы устанавливаем детали facebook приложения:

enter image description here

Что мы получаем здесь в фейсбуке для приложения, созданного: enter image description here

По правде говоря, это решение не имеет ничего общего с sitecore, но поскольку мы управляем секретным ключом приложения в sitecore, я вытаскиваю его оттуда, а не сохраняю его в другом месте.

Это приводит следующее, когда JS срабатывает (скажем, по нажатию кнопки): enter image description here