首页 文章

Facebook app特别礼品实施?

提问于
浏览
0

示例:Bejeweled Blitz经常运行事件和促销活动,点击后会转到他们的应用页面 . 在那里,应用程序可以通过关注促销链接并分享奖励来查看该页面已到达 .

这是怎么做到的?我需要做些什么来实现类似的功能?据我所知,由于域名不同(Facebook与我的应用程序),父URL已超出界限,因此消息如何传递给应用程序?

2 回答

  • 1

    Every app (Canvas, Page tab)
    您可以通过将 app_data 参数传递到链接到Facebook应用程序的任何URL来获取数据 . 然后将此参数值添加到signed_request .

    因此,此URL [1524241_将允许您通过 signed_request 获取 promotion12 .

    在PHP中,这会给你这样的东西:

    $signed_request = $facebook->getSignedRequest();
    $app_data = $signed_request['app_data'];
    

    当然,你可以在那里传递任何字符串;例如,它可能是一个JSON字符串 .

    这真的是从外部到应用程序内部获取数据的核心 .

    希望这能帮到你!

    Canvas app
    然而,在Canvas应用程序中,它更简单,每个查询参数都将传递给应用程序 .

    所以, http://apps.facebook.com/myapp?somedata=hey 可以通过:

    $data = $_GET['somedata'];
    

    Facebook只会将这些参数附加到iframe网址 .

    Docs
    https://developers.facebook.com/docs/reference/login/signed-request/(很难找到,该死的FB文档)

  • 1

    这是通过用户单击的URL中传递的查询参数完成的 . 一个明显的例子是DoubleDownCasino共享用户点击的URL . 链接是:

    http://apps.facebook.com/doubledowncasino/?pid=PNNTDP&target_url=pid%3APNNTDP

    DoubleDownCasino可能做的是,一旦他们的画布应用加载,他们解析查询参数的URL, pidtarget_url 参数帮助确定用户获得的"reward"的类型 . 一旦他们兑换它,点击相同的URL将不会再次获得奖励,因为它可以检查用户是否已经使用给定的 pidtarget_url 兑换了优惠 .

    你的问题:

    示例:Bejeweled Blitz经常运行事件和促销活动,点击后会转到他们的应用页面 . 在那里,应用程序可以通过关注促销链接并分享奖励来查看该页面已到达 .

    我上面解释的正是Bejweled Blitz在这个_1524256中的表现 . 如果您按照bit.ly短网址进行操作,则网址为:

    http://apps.facebook.com/bejeweledblitz/?zgift=0/eTtVUuhF5ipdJmO1jlDhr96MtKjp1NYflJrcOddB6iZDH1y96K%2Bml6gC0%2B5yVN

    因此,回答您的问题,Bejeweled Blitz通过附加查询参数来运行促销和奖励,在这种情况下,查询参数是 zgift ,然后他们可以通过获取用户正在访问的当前URL来解析他们的应用程序 .

相关问题