我正在使用以下Javascript为我的用户从我的Facebook应用程序向“邀请朋友”发送请求:
FB.ui({
method: 'apprequests',
message: 'Come play with me etc.',
to: str_ids
},
requestCallback
);
function requestCallback(response){
if(response){
console.log(response);
}
else{
//show error to user
}
}
其中str_ids
是一个字符串,其中包含由invitable expert API返回的ID。一切正常。
当我邀请单个用户时,假设他的Facebook ID为1593894704165626,我收到以下回复:
request
"1399842883640198"
to
["1593894704165626"]
所以这里我有一个唯一的请求ID和被邀请人的Facebook ID。我现在可以将这些数据与邀请者的ID一起存储在我的数据库中,这样我就拥有了所有必要的信息。
但是,现在我想在被邀请者接受邀请后奖励邀请人,我遇到了问题。
如果用户A和用户B都邀请了用户C,那么当用户C加入游戏时,我如何知道是否奖励A或B?
我从这个问题中看到,可以传递另一个参数以及邀请,这有助于识别邀请者:
Facebook tracking who Invited whom
这里的第一个答案表明您可以传递这样的自定义参数,但不会说明如何。 Facebook令人费解的文档让我感到疯狂。
另一件事 - 即使我发送了额外的参数,我认为存在问题 - 对于新用户,该应用重定向到Facebook页面,检查他们是否要允许访问该应用,以及当他们被重定向时回到应用程序,附加参数将丢失。
有没有解决方案?