我想跟踪从“player_1”发送给其他玩家的邀请来计算它们,结果给“player_1”一些奖励 . 就像在PVZ2中一样 .
好的,Facebook有针对Unity3d的SDK . 这是API调用应用程序请求对话框,允许邀请玩家:
public static void AppRequest(
string message,
string[] to = null,
string filters = "",
string[] excludeIds = null,
int? maxRecipients = null,
string data = "",
string title = "",
FacebookDelegate callback = null)
Facebook医生说了一些关于redirect_url的内容,可以用来跟踪接受缩进的用户:https://developers.facebook.com/docs/reference/dialogs/requests/
但Unity插件没有这个参数 .
doc也说如下:
请求仅适用于Facebook.com或iOS和Android应用程序上的游戏 . 接受游戏请求会将此人引导至发送请求的应用的Canvas页面URL . 对于原生移动应用程序,接受请求将指导此人在其设备上安装的应用程序或指向适当的位置(Apple App Store或Google Play)以下载应用程序 .
游戏只能在移动设备上运行 . 因此我们不需要制作Facebook Canvas应用程序 . 我应该在我们的网站上实现这个Canvas URL脚本吗?
注入代码(服务器端脚本)以跟踪Facebook应用程序请求的正确位置在哪里?
更新:感谢Bhavesh Vadalia的回答:https://stackoverflow.com/a/21597185/425707我决定不在Canvas App中处理好友请求 . 这是Facebook SDK 5.0.3的解决方案:
// Quesry string: "/fql?q=SELECT uid, name, is_app_user, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user = 1";
string q = "/fql?q=SELECT+uid,+name,+is_app_user,+pic_square+FROM+user+WHERE+uid+IN+(SELECT+uid2+FROM+friend+WHERE+uid1+=+me())+AND+is_app_user+=+1";
FB.API(q, Facebook.HttpMethod.GET, friendsResult =>
{
if (friendsResult.Error != null)
{
FbDebug.Error(friendsResult.Error);
}
else
{
FbDebug.Log(friendsResult.Text);
}
});
1 回答
这里是使用facebook graph api工具为我的应用程序的跟踪代码的实现 . 希望它对你也有帮助 .
我正在使用facebook 3.6 sdk