如何检测Facebook Javascript SDK的移动iframe取消?

时间:2016-04-18 15:34:55

标签: javascript facebook facebook-javascript-sdk

使用Facebook Javascript SDK 2.6版与新的'mobile_iframe'参数共享内容(我认为这是一个新的参数,我在2.6版本发布之前没有看到它,但它没有出现在FB的更改日志中) 。该参数的工作方式与广告一样,除非用户在没有共享的情况下关闭对话框(即取消移动iframe弹出窗口),否则无法通过响应数据辨别出他们这样做了。

JS:

myJsClass.shareDetails = {
  method: 'share',
  href: shareURL
};

if (true === [on a mobile device]) {
  myJsClass.shareDetails['mobile_iframe'] = true;
}

console.info('Share Data: ' + myJsClass.shareDetails )

FB.getLoginStatus( function( response ) {
  if ( response.authResponse )
  {
    FB.ui( myJsClass.shareDetails,
    function( response )
    {
      console.info('Response: 'response);
...
  • 在移动设备上(使用移动野生动物园): 共享数据:{方法:“分享”,href:“https://[my网址在这里”“,mobile_iframe:true,版本:”v2.6“}

- 有效分享后: 回复:[]

- 取消后: 回复:[]

  • 在桌面浏览器上(使用chrome):

- 有效分享后: 回复:[]

- 取消后: 响应:{error_code:4201,error_message:“用户取消了对话流”}

是否无法确定取消mobile_iframe? 供参考:https://developers.facebook.com/docs/sharing/reference/share-dialog#mobile-web-share-dialog

1 个答案:

答案 0 :(得分:0)

这证明是一个有效的错误 - 由Facebook确认: https://developers.facebook.com/bugs/257808294557601

希望他们能尽快插上这个洞。