首先,这是与我的特定帮助请求有关的原始问题线程的链接:unity3d游戏上的Facebook AppRequest句柄
如果不阅读上述内容,这将毫无意义。因此,请您在投票之前不清楚或不相关,或其他任何事情之前,请看一下上面的链接,阅读……如果可以,请发表评论。如果不能,请忽略它。我真的很想得到我问题的答案,但是回来并发现它不可见是非常令人沮丧的,因为有人想对此进行否决。这是我在这里遇到的第一个问题,现在我已经尝试了5次,只是想让它显示5分钟以上。
我的原始评论:@Aaron,非常感谢您对以上链接发表回复,因为我发现它试图弄清楚尼克·马斯卡伦哈斯(Nick Mascarenhas)也想弄清楚该怎么做。我(作为Unity开发人员)还希望看到一个GetRequests类型的函数,该函数返回UserID的数组以及发送给登录用户的请求代码。我对Facebook的工作方式相当陌生(尽管我有很强的编程背景),而且我发现这非常……试图降低Facebook集成度令人沮丧。(那样,示例统一项目无法统一编译,但是我最近了解了原因……而且没有像其他SDK一样的“已完成项目”……同样,非常令人沮丧,因为我想能够弄清楚这一点,然后回到构建我的游戏。)至于亚伦
您可以通过调用FB.API从appid获取“数据”:
调用FB.AppRequest(...,data =“ life”)=>请求ID = 1234之后,玩家以请求ID 1234访问您的游戏,而您调用FB.API(“ / 1234”):结果JSON字符串将有一个字段data =“ life”
主要问题是,我还没有完全了解如何在统一的C-Sharp框架内将特定的AppRequest发送给某个人。
例如,我希望能够在我的游戏中向其他玩家发送称为“加速”的加电单,然后拉出已发送的请求(当用户登录时),并知道来自谁/等等的数量/他们已经收到了。我正在使用下面的SendPowerUp函数。
这是使用的代码,它大部分是从FBUtil.cs文件中复制出来的,并经过了少许修改以与6.0beta sdk一起使用...
public void SendPowerUp()
{
DirectRequestTitle = "Send a Mystery Gift to a friend.";
FriendFilters.Add ("all");
FriendFilters.Add ("app_users");
FriendFilters.Add ("app_non_users");
// sends a gift request to players...
FB.AppRequest (
message: DirectRequestMessage,
actionType: OGActionType.Send,
objectId: "gift" + FB.UserId,
filters: FriendFilters,
excludeIds: null,
maxRecipients: 49,
data: FriendSelectorData,
title: DirectRequestTitle,
callback: (Facebook.FacebookDelegate)AppRequestAsDirectRequestComplete);
}
这是以下内容的修改版本:
public void CallAppRequestAsDirectRequest()
{
if (DirectRequestTo == "")
{
throw new ArgumentException("\"To Comma Ids\" must be specificed", "to");
}
FB.AppRequest(
message: DirectRequestMessage,
to: DirectRequestTo.Split(','),
title: DirectRequestTitle,
callback: AppRequestAsDirectRequestComplete
);
}
因为在导入脚本时Unity会给出此错误,所以如果缺少参数:
资产/脚本/CSharp/FB_Controller.cs(287,12):错误CS1501:方法
AppRequest' takes
4'参数无重载
任何有关如何获取我的应用程序在玩我的游戏时(从FACEBOOK中)发送给玩家的请求的解释,将不胜感激。
我有一个与此类似的问题,最终在这里提出了一个有问题的解决方案:Facebook Unity和处理应用程序请求
我敢肯定某个地方有一个更简单,更优雅的解决方案,但是对于我来说它已经足够好了。我忘了在答案中提到您可以在发送AppRequest时包含一个“数据”字符串,然后可以从JSON读取该字符串以处理请求类型(例如生命)。
所有信息都在此页面上的此处:https : //developers.facebook.com/docs/games/services/gamerequests
尽管其中很多不是特定于Unity的,这就是为什么我的回答如此笨拙的原因。我测试它的方式是通过在测试用户之间发送请求。您可以使用以下链接在浏览器中检查所有请求:https : //graph.facebook.com/me/apprequests ? access_token =[ USER ACCESS TOKEN]
并用测试用户访问令牌替换USER ACCESS TOKEN。这也有助于确定在处理请求后是否已将其删除。
同样,对于AppRequest函数,可以采用多种方式来采用不同顺序的参数。您可以通过键入(在Monodevelop / Visual Studio中)FB.AppRequest(
这应该显示参数,并且可以通过按箭头键来循环显示它们。
希望这可以帮助!
编辑:刚意识到这是2年前提出的。希望您已经找到了解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句