Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将WP7游戏成果从XNA发布到Facebook_C#_.net_Facebook_Windows Phone 7_Xna - Fatal编程技术网

C# 将WP7游戏成果从XNA发布到Facebook

C# 将WP7游戏成果从XNA发布到Facebook,c#,.net,facebook,windows-phone-7,xna,C#,.net,Facebook,Windows Phone 7,Xna,最近,我们正在为WindowsPhone7开发一款3D XNA驱动的游戏。我们希望集成一个成就系统,并能够将成就发布到Facebook。我的问题是:有人已经做了类似的事情吗?有关于如何做到这一点的好教程/资源吗 据我所知,为了登录Facebook,可以在XNA上启动WebBrowserTask,这将使用internet explorer应用程序打开url,但同时,当用户按下后退按钮时,XNA游戏将被停用并重新激活。OAuth令牌可以使用我们自己的服务器传输回应用程序。但这是唯一的办法吗 编辑:我

最近,我们正在为WindowsPhone7开发一款3D XNA驱动的游戏。我们希望集成一个成就系统,并能够将成就发布到Facebook。我的问题是:有人已经做了类似的事情吗?有关于如何做到这一点的好教程/资源吗

据我所知,为了登录Facebook,可以在XNA上启动WebBrowserTask,这将使用internet explorer应用程序打开url,但同时,当用户按下后退按钮时,XNA游戏将被停用并重新激活。OAuth令牌可以使用我们自己的服务器传输回应用程序。但这是唯一的办法吗


编辑:我已经成功解决了FacebookOAuth,没有浏览器问题,请参阅我的博客帖子:

您无法直接使用WebBrowserTask完成此任务。你已经在你的应用程序中嵌入了一个web浏览器,而使用XNA,你无法做到这一点

这是我的

作为一种解决方法,您可以尝试间接使用WebBrowserTask:

  • 让你的应用程序在你的网站上打开一个网页(使用WebBrowserTask),并从设备上向其传递ANID
  • 在该网页中,展示使用Facebook进行OAUTH的功能,并让您的网页管理ANID和OAUTH登录之间的关联
  • 当您希望发布一项成就时。让应用程序将成果和ANID发送到您的网站,然后将更新转发到Facebook
  • 您的应用程序需要检查您的网站,以查看oauth是否已完成,因为在步骤2之后,站点无法发送回响应(没有推送通知)


    未经测试,但我不明白为什么上述方法不起作用。

    查看Facebook C#SDK。在当前源代码中,我们有一个示例WP7应用程序,向您展示如何登录Facebook。这应该是你开始工作所需要的一切

    好的,谢谢。我想我得试试。我将在这里发布我的发现。幸运的是,这是我唯一能看到这一点的方法,因为Android和iOS中的应用内单点登录涉及到与本机Facebook应用程序的交互。该示例没有帮助,它是WP7上Silverlight的示例。我正在寻找WP7上的XNA解决方案(不幸的是,没有办法在WP7上的XNA应用程序中托管SL或webbrowser)。但是框架的核心看起来不错,我来看看。有3个示例。WP7,浏览器中的Silverlight,浏览器中的Silverlight。我还没有做任何XNA开发,但是如果你不能使用浏览器框架,你就不能让用户登录facebook。Facebook OAuth需要一个浏览器。你必须在你的应用程序之外构建一些东西,获取用户的访问令牌并请求脱机访问,这样你就可以保存他们的访问令牌并重用它。您可以在游戏中使用C#SDK,或者按照上面讨论的方法调用自己的web服务,然后从服务器上调用facebook。@Kel您提供的博客链接不存在。你能用新的链接更新一下吗,这样将来它就能帮助别人了。