我使用以下代码解锁优惠券代码。
<script type="text/javascript">
window.fbAsyncInit = function () {
FB.init({
appId: '4##############',
xfbml: true,
status: true,
cookie: true,
version: 'v2.11'
});
window.FB.Event.subscribe('edge.create', function (response) {
jQuery("#fb-code input").val("<?php echo Mage::getStoreConfig('fbpromo/settings/couponcode'); ?>");
});
window.FB.Event.subscribe('edge.remove', function (response) {
jQuery("#fb-code input").val("Code will appear here");
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
不知何故,当我点击FB like按钮时,它将打开FB弹出窗口以确认页面。一旦我喜欢这个页面,Button就会变得很受欢迎,但优惠券代码div#fb-code input没有显示。当我不喜欢并再做一次时,优惠券代码div#fb-code输入变得可见。
所以底线是 edge.create 事件不会在第一个类似事件上触发。任何解决方案?
答案 0 :(得分:0)
https://developers.facebook.com/docs/apps/examples-platform-policy-4.5
不要激励人们喜欢一个页面,或者给人一种喜欢页面会得到回报的印象。请参阅上面和下面的示例。
显然禁止用户喜欢使用Page。
完全平台政策:https://developers.facebook.com/policy/
此外:
edge.create和edge.remove JS SDK事件:将无法再访问这些事件。作为替代方案,您可以使用我们的Webhooks,并在每次有人喜欢您的某个Facebook页面时收到通知。
来源:https://developers.facebook.com/blog/post/2017/11/07/changes-developer-offerings/