示例:Bejeweled Blitz经常运行事件和促销活动,点击后会带您进入他们的应用程序页面。一旦到达那里,应用程序就可以通过关注促销链接并分享奖励来查看该页面。Facebook应用特殊礼物实施?
这是如何完成的?我需要做些什么来实现类似的功能?据我所知,由于域名不同(Facebook与我的应用程序),父母的URL是越界的,所以消息如何传递给应用程序?
示例:Bejeweled Blitz经常运行事件和促销活动,点击后会带您进入他们的应用程序页面。一旦到达那里,应用程序就可以通过关注促销链接并分享奖励来查看该页面。Facebook应用特殊礼物实施?
这是如何完成的?我需要做些什么来实现类似的功能?据我所知,由于域名不同(Facebook与我的应用程序),父母的URL是越界的,所以消息如何传递给应用程序?
每一个应用程序(画布页选项卡)
你可以通过一个app_data
参数的任何URL链接到Facebook的应用程序中获取数据。该参数值将被添加到signed_request
。
因此,此网址http://facebook.com/mypage/app_123?app_data=promotion12
将允许您通过signed_request
得到promotion12
。
在PHP中,这将给你这样的事情:
$signed_request = $facebook->getSignedRequest();
$app_data = $signed_request['app_data'];
当然,你可以通过有过任何字符串;例如它可能是一个JSON字符串。
这确实是从外部向应用程序内部获取数据的核心。
希望这能帮到你!
画布应用
在画布应用然而,这是更简单,每个查询参数将被传递给应用程序。
所以,http://apps.facebook.com/myapp?somedata=hey
可以得到通过:
$data = $_GET['somedata'];
Facebook将这些参数只是追加到iframe网址。
文档
https://developers.facebook.com/docs/reference/login/signed-request/(是很难找到,该死的FB文档)
这是在用户点击URL传递的查询参数进行。一个明显的例子是DoubleDownCasino分享他们的用户点击一个URL。这个链接是:
http://apps.facebook.com/doubledowncasino/?pid=PNNTDP&target_url=pid%3APNNTDP
什么DoubleDownCasino可能根本是,一旦他们的画布应用程序加载时,他们解析URL的查询参数和pid
和target_url
参数帮助确定哪种类型的“奖励”的用户得到。一旦他们兑换了它,点击相同的URL将不会再获得奖励,因为它可以检查用户是否已使用给定的pid
和target_url
兑换了该优惠。
你的问题:
例子:宝石迷阵闪电战频繁地往返于活动和促销活动,点击后,带您到他们的应用程序页面。一旦到达那里,应用程序就可以通过关注促销链接并分享奖励来查看该页面。
我在上面解释的正是Bejweled Blitz在这个post中是如何做到的。如果你遵循通过bit.ly短网址,网址为:
所以回答你的问题,宝石迷阵闪电战通过附加查询参数,在这种情况下是zgift
运行促销和奖励,然后他们可以通过获取用户正在访问的当前URL来解析他们的应用程序。
谢谢。现在我不得不想知道,为什么我花了两个星期的时间在文档上搜索,而在提供了大量的奖励之后在这里等待答案。XD但是现在我知道了。如果您可以将我链接到相关文档页面,我会向您奖励赏金。 –
嘿,我添加了很多信息,并且链接到了signed_request扩展文档,其中声明了'app_data'。我还特别为Canvas应用添加了一个部分,使用查询参数更容易。 –
非常感谢。不幸的是,在我可以奖励它之前,赏金必须是特定的年龄,但它是你的全部:) –