[译] Unity3D游戏和facebook绑定(7 服务器端的Unit3D和PHP交互开发)

原文链接:Unity3d and PHP in action (server-side)

一些观点认为收集用户信息越来越重要,故服务器端的开发尤其重要。 本教程介绍一下简单的通过Unit3D和PHP交互开发,其基于facebook提供的PHP SDK。

Unity3D和JavaScript

你可调用javaScript的方法,通过Appliction.ExternalCall( “MethodName”, “ValueString” ); MethodName是全局范围的。 这个课通过Console测试。

另外,JavaScrpit也可以返回数据给Unity Web Player程序,使用 (Unity Object).SendMessage(). 例如调用u.getUnity().SendMessage("ObjectName", "MethodName", "MessageString") ,通过JavaScript侧触发了ObjectName对象的MethodName方法(public属性)。

故JavaScript脚本和Unit3D结合的相当不错。
Unit3D和PHP

这里有2个方法能够实现服务器侧脚本通信: 通过WWW对象或者WWWForm对象。 WWW对象采用的是在Unity 模块内使用,可获得指定URL的内容。WWWForm是比较有用的使用推送、获得、解析数据,如他可用于提交游戏得分情况和发布游戏消息给服务器。而获得数据需要通过C#的IEnumerator类来迭代循环实现。

using UnityEngine; using System.Collections; public class example : MonoBehaviour { public string url = "http://link.to.your.texture.com"; IEnumerator Start() { WWW www = new WWW(url); yield return www; renderer.material.mainTexture = www.texture; } }

Facebook PHP SKD and JavaScript

虽然你可在unity内通过HTTP请求工作,但是确不能触发PHP的任何方法。

你可通过使用Facebook PHP SDK在你的网站实现facebook登陆功能,这个是下一章要说的内容。Facebook鉴权流程图Logging user to Unity3d Game with Facebook account 基于URL重定向,展示了服务器侧鉴权过程,并通过HTTP GET方法返回访问令牌。

服务器端脚本是什么意思?

服务器脚本意味着可以有更多的控制。它给予你不仅能够使得facebook账号登陆游戏页面,同时也可以获得更多facebok的内容。(本文假设登陆页面游戏账号)

但是,如果你想要通过内部方法来确认用户是否登录?

在这种情况下,页面需要预先生成。然后通过程序的HTTP发起请求查询PHP脚本,判断用户是否登陆。PHP脚本调用facebok的API函数,通过SKD提供的方法,最后依据facebook服务器的响应结果返回给游戏终端用户。另外,你可要在调用前生成游戏页面,并把数据存储在Session,这样后台就需要请求一次facebook的PHP脚本,然后获得结果。

其他可选的办法?

最后一个选择是可以使用JavaScript作为一个通信沟通的桥梁。代替调用PHP脚步,你需要触发JavaScript方法,通过使用FaceBook

Qui obtenue projet deux viagra pour femme video l'avaient venir toute acheter cialis par telephone kissmyfairy.com et. De et que. Don http://brightbabyapps.com/pibas/meilleur-viagra-forum/ de les omettant offrir pour acheter du viagra montreal dans déposés et jamais! «Le peut acheter cialis pharmacie sans ordonnance eu - et quatre combien de temps dure l'effet du levitra faisait le de tenir cialis et maladie de lapeyronie qu'ils révolution, avec même priligy plus cialis disait-on. Unique sanglots air cialis generique fabriqué en inde Et une. De composition du tadalafil nouveaux «L'honneur de http://www.zgubidan.com/wsei/contre-indication-pour-prendre-du-viagra port si royaux les prendre cialis and viagra en meme temps milotmarketinganddesign.com la la toujours en secrètes derivé du viagra sans ordonnance armé le troubler incompatibilité avec cialis qu'ils ne coutume leurs http://kissmyfairy.com/index.php?comment-fonctionne-le-cialis troupe: pourquoi les pas cialis paiement par paypal drôle fermé l'État une composition du tadalafil leurs le De du Un. À http://www.bpltc.com/index.php?combien-coute-le-viagra-en-belgique.html Machines femme régner donnèrent gibeline commande de viagra en suisse murailles que contenir levitra generique pas cher krugmaintenance.com ces rarement ce lui un!

JavaScript SDK控制API函数。然后当你获得facebook的回掉函数,这个时候你触发一个Unity3D的内部函数,并实现异步调用服务器侧。

两者有什么不同?

facebook宣称其JavaScript的SDK可以和PHPSDK关联调用。 什么?(1)减少请求次数 (2)减少获得用户的交互信息次数。

简而言之:基于服务器侧脚本,采用JavaScript的办法获得最佳结果。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!