C# Unity www退货请求在编辑器中有效,但在fb应用程序中无效

C# Unity www退货请求在编辑器中有效,但在fb应用程序中无效,c#,facebook,unity3d,facebook-unity-sdk,C#,Facebook,Unity3d,Facebook Unity Sdk,目前我的问题是: 下面的代码在unity editor中工作,我之前和现在已经多次检查php,发送的url工作正常,并且返回了正确的值,但是上传一个构建到facebook应用程序中使用的空间会由于某种原因破坏它,img提供了显示它停止的位置 其他一些细节: 环顾四周,所有迹象都表明它是v3.0(我正在使用的版本是v4.3.3f1)中的一个bug,但尽管我下面的代码在编辑器中工作没有问题,但当我将它的构建上传到提供的html空间时,它将不会继续超过屈服返回www请求 在下面的代码块之前,当前登录的

目前我的问题是:

下面的代码在unity editor中工作,我之前和现在已经多次检查php,发送的url工作正常,并且返回了正确的值,但是上传一个构建到facebook应用程序中使用的空间会由于某种原因破坏它,img提供了显示它停止的位置

其他一些细节:

环顾四周,所有迹象都表明它是v3.0(我正在使用的版本是v4.3.3f1)中的一个bug,但尽管我下面的代码在编辑器中工作没有问题,但当我将它的构建上传到提供的html空间时,它将不会继续超过屈服返回www请求

在下面的代码块之前,当前登录的工作方式是初始化FB gameobject,登录facebook,检查是否有错误,然后传回FB用户ID,然后将其传递给下面的代码,该代码按预期工作

Quick edit-DB Connector包含主url,下面的代码在其中添加php get所需的字符串

我不知道从哪里开始尝试修复它,除了如图所示,在它进行的过程中更改正在显示的文本,这有助于将它隔离到我这里的问题

登录屏幕上粘贴的图像:

代码:

使用UnityEngine;
使用系统集合;
使用制度;
公共类ConnectToDataBase:MonoBehavior{
public bool bDatabaseConnected=false;
public bool bConnectionFailed=false;
公共字符串sFacebookID;
公共WWWForm WWWForm;
公共void vStartConnection()
{
var text=GameObject.FindGameObjectWithTag(“其他”);
text.guiText.text=“登录:连接数据库:准备查询”;
//调用databasequeries并获取sDBConnect
字符串sConnectPhp=GameObject.FindGameObjectWithTag(“DBConnector”).GetComponent().sDBConnect;
//现在准备好url,以及php的get和FacebookID所需的代码
字符串url=sConnectPhp+“?UserID=“+sFacebookID;
text.guiText.text=“登录:连接数据库:发送的url:\n”+url;
WWW wwget=新的WWW(url);
text.guiText.text=“登录名:connectToDatabase:wwwGet-created”;
text.guiText.text=“登录:连接数据库:启动协同程序”;
启动例行程序(连接(wwwGet));
}
IEnumerator连接(WWW)
{
var text=GameObject.FindGameObjectWithTag(“其他”);
text.guiText.text=“登录:connectToDatabase:coroutine已启动-发送www请求”;
收益率;
text.guiText.text=“Login:connectToDatabase:wwget-yield-return”;
字符串sTemp=www.text;
如果(www.error==null)
{
text.guiText.text=“登录:连接数据库:wwwGet未出错”;
字符串newString=sTemp.ToString();
int newInt=Convert.ToInt32(新闻字符串);
//印刷品(新闻字符串);
text.guiText.text=“Login:connectToDatabase:checking wwwGet return as int”;
如果(newInt==0)
{
//如果成功连接,则设置为true
打印(“connectToDatabase:olduser成功”);
text.guiText.text=“登录:connectToDatabase:olduser成功”;
bDatabaseConnected=true;
屈服断裂;
}
else if(newInt==1)
{
//如果成功连接,则设置为true
打印(“连接数据库:新用户成功”);
text.guiText.text=“登录:连接数据库:新用户成功”;
bDatabaseConnected=true;
屈服断裂;
}
else if(newInt==2)
{
//游戏连接失败
打印(“connectToDatabase:失败”);
text.guiText.text=“登录:连接数据库:失败”;
bDatabaseConnected=false;
bConnectionFailed=true;
屈服断裂;
}
其他的
{
text.guiText.text=“Login:connectToDatabase:php未返回0/1/2值”;
}
}
其他的
{
//游戏连接失败
打印(“connectToDatabase:失败”);
text.guiText.text=“Login:connectToDatabase:wwwGet出错:\n”+www.error;
bDatabaseConnected=false;
bConnectionFailed=true;
屈服断裂;
}
text.guiText.text=“Login:connectToDatabase:wwget if语句完全跳过”;
}
}

在浏览器中运行时有不同的规则。如前所述,该应用程序处于沙盒模式,因此您需要添加一个策略(我知道该链接适用于Flash Player,但同样的原则也适用)

最后,您需要这样的东西,它保存在web服务器根目录中的crossdomain.xml文件中

<?xml version="1.0"?>
<cross-domain-policy>
 <allow-access-from domain="*" secure="false"/>
</cross-domain-policy>

aah好的,谢谢,我明天在实验室时会实施它。
<?xml version="1.0"?>
<cross-domain-policy>
 <allow-access-from domain="*" secure="false"/>
</cross-domain-policy>