Уведомления, отправленные с использованием FBML, не работают, если приложение не установлено - PullRequest
0 голосов
/ 29 февраля 2012

У меня большая проблема с уведомлениями, генерируемыми приложением FBML. Приложение отправляет два вида уведомлений. Один из типов уведомлений состоит в том, чтобы пригласить друзей пользователя использовать приложение (распространяя слово), а второй тип - когда пользователь отправляет запрос своим друзьям, чтобы проверить свой счет в приложении. Код для одного из разделов приглашения выглядит следующим образом. Другой также похож на этот, за исключением текста.

<div style="width:580px;">   <fb:serverFbml width="582px" >
  <script type="text/fbml">
     <fb:request-form 
        method="post"           
        action="<?php echo $this->callback ?>/buddies/call"
       content="<?= htmlspecialchars('<fb:req-choice url="'.$this->application.'msg/invite_" label="Accept"/>Hi, I’m using My APP to find out about myslef, and that of my friends. Wanna join?”', ENT_QUOTES); ?>"
        type="event"
        target=""
        invite="true">
        <fb:multi-friend-selector actiontext="Invite your friends" exclude_ids="<?php echo $this->excludes;?>" email_invite="false" cols="3" max="35" />
    </fb:request-form>
</script>

Теперь проблема в том, что если приложение установлено в профиле друзей, то уведомление появляется на верхнем шаре и после нажатия перенаправляет на нужную страницу приложения. Однако, если приложение не установлено, уведомление появляется на верхнем шаре, но при нажатии ничего не происходит. Я проверил через firebug, что при нажатии на страницу посылается AJAX-вызов, но ничего не происходит. Также сгенерированная ссылка остается неизменной независимо от того, установлено приложение или нет в профиле друзей.

Любая помощь будет наиболее ценной. У меня есть крайний срок, и у меня так мало времени.

Спасибо заранее.

Усман

1 Ответ

0 голосов
/ 01 марта 2012

Вы должны использовать новые запросы 2.0. FBML устарел и будет полностью исключен из существования 1 июня (https://developers.facebook.com/docs/reference/fbml/).

Вот документация о том, как использовать новые запросы 2.0:

https://developers.facebook.com/docs/requests/

https://developers.facebook.com/docs/reference/dialogs/requests/

так же просто, как (при указании конкретного друга):

function sendRequestToRecipients() {
  FB.ui({method: 'apprequests',
    message: 'My Great Request',
    to: '499802820'
  }, requestCallback);
}

ИЛИ разрешить пользователю выбирать друзей:

function sendRequestToRecipients() {
  FB.ui({method: 'apprequests',
    message: 'My Great Request'
  }, requestCallback);
}
...