我正在尝试建立一个多人游戏作为Facebook应用程序,所以,在这里,我给一个玩家一个链接,他与他的朋友分享,以便他们可以一起玩, FB apps链接属于网址类型
https://apps.facebook.com/app-name/
说别人分享链接
https://apps.facebook.com/app-name/?game=key
现在出现了真正的问题,当前作为iframe运行的应用程序将如何访问父Windows游戏变量?
答案 0 :(得分:1)
您必须使用app_data
参数。看看这些链接:
因此,基本上,app_data参数将在signed_request
中传递到iFrame中的应用。为此,您必须对参数进行json_encode。因此,在您的示例中:
http://apps.facebook.com/my-app/?app_data={'game': 'key'}
最后是url编码:
http://apps.facebook.com/my-app/?app_data=7B%27game%27%3A+%27key%27%7D
要获得访问权限,您必须读出signed_request(使用PHP的示例):
$app_data = json_decode($signed_request["app_data"]);
$additional = $app_data['additional'];
答案 1 :(得分:0)
基本上不是使用问号而只是将其添加到网址:
https://apps.facebook.com/app-name/game/key
只需确保将应用设置为处理以下内容:
https://yourdomain.com/canvas-url/game/key
我在一个重复的问题上发布了一个更深入的问题答案:
答案 2 :(得分:0)
我遇到了同样的问题,答案非常简单:
https://apps.facebook.com/app-name/?myvalue=12
在页面应用上,您只能使用" app_data"作为参数,但在Canvas应用程序中,您只需使用自己的参数,就可以使用$ _REQUEST [' myvalue']或$ _GET [' myvalue']来获取它们:
array(2) { ["myvalue"]=> string(2) "12" ["signed_request"]=> string(427) "..." }