如果未安装应用程序,则使用FBML发送的通知不起作用

时间:2012-02-29 18:51:23

标签: facebook notifications fbml

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调用,但没有任何反应。此外,无论在朋友配置文件中安装或未安装应用程序,生成的链接都是相同的。

任何帮助都将非常感激。我有截止日期,我的时间很短。

提前致谢。

Usman

1 个答案:

答案 0 :(得分:0)

您应该使用新的Requests 2.0。 FBML已弃用,将于6月1日完全删除(https://developers.facebook.com/docs/reference/fbml/)。

以下是有关如何使用新Requests 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);
}