我希望用户能够使用Facebook发送按钮向朋友发送指向我网站上页面的链接。页面本身是通用注册页面,但如果存在“referral_code”查询字符串参数,则表示谁引用了该用户。从这个意义上讲,URL是唯一的,即使页面不是。所以,我在名为/ referrals(已加载jssdk)的页面上执行以下操作:
<span class="fb-send" data-href="http://my.domain.com/sign_up?referral_code=unique-to-each-user"></span>
“发送”按钮可以正确打开对话框,但是使用启发式facebook工程师构建的任何选择,它都会在消息中包含一个蹩脚的图像和文本。
我在文档中进一步阅读并发现我可以在/ sign_up页面上使用og:image来指定要使用的图像(只要宽度/高度比率<3!)。
所以,在http://my.domain.com/sign_up上我添加了必要的og标签。
pickle :如果您使用任何 og标记,那么您必须也包含og:url,并且似乎og:url需要优先级。
我的问题是,我是对的og:url优先于data-href吗?如果是这样,我是否可以使用其他技术,允许我在目标页面上包含og标签(静态),同时仍然指定要发送/喜欢的确切URL(动态)?
答案 0 :(得分:2)
你是对的,Facebook将把OG的价值:url比作为data-href提供的。
然而,ref属性应该做你想要的。从发送按钮docs:
ref - 用于跟踪推介的标签;必须少于50个字符 并且可以包含字母数字字符和一些标点符号 (目前+ / = - 。:_)。 ref属性导致两个参数 用户单击流中的链接时添加到引荐来源网址 关于发送动作的故事:
因此,如果您在发送按钮代码中提供ref属性,则引荐ID将添加到传入的URL:
<fb:send data-href="http://my.domain.com/signup" ref="unique-to-each-user"></fb:send>
以上代码会将其生成为流故事中的URL:
http://www.yoursite.com/sign-up?fb_ref=unique-to-each-user&fb_source=message
点击进入您的网站后,您可以获取fb_ref的值并确定哪个用户提供了引荐。