2016-05-31 63 views

回答

4

Facebook Messenger尚未在其模板中启动日期和时间选择器。

但您可以通过webview and Extensions帮助您。

请按照下列步骤操作。

创建按钮或通用模板,并把一个按钮

"buttons":[ 
      { 
      "type":"web_url", 
      "url":"http://my_url_which_open_date_picker", 
      "title":"Select date", 
      "messenger_extensions": true, 
      "webview_height_ratio": "compact" 
      } 
    ] 

与您的网址替换URL。
注意:网址应该在白名单中您的域名

现在,在该网页中,您可以获取该用户的userId,并且可以轻松映射其日期选取操作。

在您的网页

<script> 
(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.com/en_US/messenger.Extensions.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'Messenger')); 
</script>  

当使者扩展JS SDK完成加载,它会调用window.extAsyncInit,你会在该函数获得用户ID。

<script> 
    window.extAsyncInit = function() { 
     // the Messenger Extensions JS SDK is done loading 
     MessengerExtensions.getUserID(function success(uids) { 
      var psid = uids.psid; 

     }, function error(err) { 

     }); 
    }; 
</script> 

的UID是包含对象的用户ID
PSID页面范围的用户ID

你也可以当用户拿起日期关闭页面压延机中。 这可以通过做:

<script> 
     MessengerExtensions.requestCloseBrowser(function success() { 

     }, function error(err) { 

     }); 
</script> 
+1

应当指出的是,这仅适用于移动。桌面用户将看不到紧凑页面,但是有一个外部选项卡 – user151496

相关问题