2016-05-31 6 views
6

Facebook 로봇이 사용할 수있는 다양한 CTA 카드가 here 인 것으로 알고 있습니다.Facebook 메신저 로봇 데이트 피커 카드

내가 정말로 필요한 것은 그들이 날짜를 선택하고 다시 보낼 수있는 사용자에게 보낼 수있는 datepicker 카드입니다. Facebook 봇을 사용하여 가능합니까?

답변

4

Facebook messenger가 템플릿의 날짜 및 시간 선택 도구를 실행하지 않았습니다.

하지만 webview and Extensions으로 도움을받을 수 있습니다.

다음 단계를 따르십시오.

당신의 URL과 함께 URL을 교체 버튼 또는 일반 템플릿을 생성하고

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

에 버튼을 넣어.
참고 : URL은 허용 목록에 있어야합니다. 귀하의 도메인

이제 해당 웹 페이지에서 해당 특정 사용자의 userId를 얻을 수 있으며 couls은 날짜 선택을위한 조치를 쉽게 매핑 할 수 있습니다. 메신저 확장 JS SDK로드가 완료되면 페이지에

<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>  

, 그것은 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에게 당신은 또한 사용자가 날짜를 선택합니다 때 calander 페이지를 닫아야 할 수 있습니다
PSID 페이지 범위의 사용자 ID

입니다. 다음을 통해이 작업을 수행 할 수 있습니다.

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

     }, function error(err) { 

     }); 
</script> 
+1

모바일에서만 작동합니다. 데스크톱 사용자에게는 소형 페이지가 표시되지 않지만 외부 탭은 표시됩니다. – user151496

관련 문제