我正在为Facebook创建游戏,这里是Invite friends
功能。
现在如果用户邀请朋友,在关闭并打开邀请框朋友后再次出现在列表中。我需要该应用程序记住哪些朋友已经被邀请,他们不应该出现在列表中。
现在我的代码如下:
<div id="fb-root"></div>
<a href="#" onclick="FbRequest('This page is amazing, check it out!','4d5da07acbbb0');"><center>Invite Friends</center></a>
<script type="text/javascript">
window.onload = function () {
window.onload =FbRequest('This page is amazing, check it out!','4d5da07acbbb0');
}
function FbRequest(message, data){
FB.ui({method:'apprequests',message:message,data:data,title:'Share this site with your friends'},
function(response){
// response.request_ids holds an array of user ids that received the request
}
);
}
// typical application initialization code for your site
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
window.fbAsyncInit = function() {
FB.init({
appId : '00000000',
session : {},
status : true,
cookie : true,
xfbml : true
});
};
</script>
我正在使用代码示例,这里是注释行:// response.request_ids holds an array of user ids that received the request
也许这就是我需要的,我不知道如何正确使用它。
答案 0 :(得分:0)
您需要一种方法来保留请求信息。如果您有后端服务提供程序(即运行php和mysql的Web服务器),您可以将请求的ID发送到您的服务器,以便通过ajax存储在数据库中。如果您没有后端服务提供商,那么您只有其他选择是客户端存储,例如“本地存储”,应视为易失性。
在调用app request
对话框之前的某个时刻,您需要从上面步骤1中实现的存储设备获取您之前发送到的ID的列表。我想这取决于你的游戏加载方式,但有很多方法可以做到这一点。例如,如果您的页面是在php中动态生成的,则可以将所有id的javascript数组转储到HTML输出中。
一个更好的方法可能是弹出一个微调器,“请等待......”,ajax获取已经发送的id,然后在你的ajax回调函数中,关闭微调器弹出窗口并调用facebook具有您的排除ID列表的特定功能。
here in the documentation您可以看到需要填写的exclude_ids
参数。