繁体   English   中英

Unity3D Facebook SDK成就

[英]Unity3D Facebook SDK Achievements

我正在尝试通过Facebook Unity SDK实现成就。

我希望有人可以对执行此操作所需的过程进行定性描述。

到目前为止,这是我所做的。

  • 将Web构建托管在服务器上
  • 在此站点上创建一个成就文件夹,并创建一个测试成就html文件,如https://developers.facebook.com/blog/post/539/

    我的主要困惑是注册成就和提出成就之间的区别。

注册成就仅需要完成一次,如果需要,应该在哪里完成? 我是否需要统一创建一个脚本,以注册在其余测试之前运行的游戏的所有成就? 另外,我不确定方法调用如何注册和发布成就。 我的印象是我需要调用FB.API(字符串终结点,Facebook.HttpMethod,FacebookDelegate回调,字典formData)

但是我真的不确定输入参数是什么。

到目前为止,这是我的尝试(我很确定我使用的字符串端点错误)

private void RegisterAchievement()
{
    string achievement ="http://www.invadingspaces.com/unity/testing/Achievements/ach1.html";
    string appID = "999408935255000";
    string achievement_display_order = "1"; 

    string achievement_registration_URL = "https://graph.facebook.com/"+ appID + "/achievements";
    FB.API(achievement_registration_URL+","+"achievement="+ achievement+ "&display_order=" +achievement_display_order+ "&access_token=" + FB.AccessToken ,Facebook.HttpMethod.POST,null,null);
}

提前致谢。

我建议您查看一般的Facebook成就API: https//developers.facebook.com/docs/games/achievements/

您也可以先测试一下图浏览器实际要放置的内容,然后再将其放入图中。: https : //developers.facebook.com/tools/explorer

因此,例如,要创建一个新的成就,就是这样:

var dict = new Dictionary<string,string>();
dict["achievement"] = "<URL_TO ACHIEVEMENT_HERE>";
FB.API(FB.AppId+"/achievements", Facebook.HttpMethod.POST, null, dict);

为了获得所有游戏成就,它是:

FB.API(FB.AppId+"/achievements", Facebook.HttpMethod.GET);

然后授予玩家成就,就是这样:

var dict = new Dictionary<string,string>();
dict["achievement"] = "<URL_TO ACHIEVEMENT_HERE>";
FB.API(FB.UserId+"/achievements", Facebook.HttpMethod.POST, null, dict);

为了使该玩家完成他们的成就,它是:

FB.API(FB.UserId+"/achievements", Facebook.HttpMethod.GET);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM