按鈕

大部分訊息範本以及常駐功能表都支援可叫用各種動作的按鈕。這些按鈕可讓您輕鬆地向訊息收件人提供在回應範本時可採取的動作,例如:開啟 Messenger WebView、開始付款流程、將回傳訊息傳送至 Webhook 等。

若是訊息範本,按鈕是由 buttons 陣列中的物件所定義。若是常駐功能表,按鈕是由 call_to_actions 陣列中的物件所定義。

網址按鈕

網址按鈕會在 Messenger 網頁檢視中開啟網頁。這可讓您透過能完全掌控開發彈性的網頁,使得對話體驗更加豐富。例如,您可以在對話中顯示商品摘要,然後使用網址按鈕開啟網站上的完整商品頁面。

如果網站包含應用程式連結,按鈕將啟動指定的原生應用程式。

Facebook 網路爬蟲需要讀取應用程式連結中繼標籤以重新導向至工作。請注意,如果您才剛在網站上實作標籤,可以使用分享偵錯工具要求新的抓取。網路爬蟲抓取網站後,所傳送的新網址按鈕應該會遵循重新導向行為。

支援用法

下列項目支援使用網址按鈕:

  • 常駐功能表
  • 一般型範本
  • 清單範本
  • 按鈕範本
  • 影音素材範本

Messenger 擴充功能 SDK — 必須將網域列入允許清單

若要使用在 Messenger Webview 中啟用的 Messenger 擴充功能 SDK 來顯示網頁,您必須Bot 的 Messenger 個人檔案 whitelisted_domains 屬性中將網域(包括子網域)列入允許清單。如此可確保只有受信任的網域才能透過 SDK 功能存取可用的用戶資訊。

有關將網域列入允許清單的詳細資訊,請參閱 whitelisted_domains 參考資料

按鈕格式

如需按鈕屬性的完整清單,請參閱網址按鈕參考資料

{
  "type": "web_url",
  "url": "

回傳按鈕

回傳按鈕會將 messaging_postbacks 事件傳送至 Webhook,並且在 payload 屬性中設定字串。這可讓您在用戶點按按鈕時採取任意動作。例如,您可以顯示商品清單,然後在回傳中將商品編號傳送至 Webhook,繼而用於查詢資料庫,並以結構化訊息的方式傳回商品詳細資料。

支援用法

下列項目支援使用回傳按鈕:

  • 常駐功能表
  • 一般型範本
  • 清單範本
  • 按鈕範本
  • 影音素材範本

按鈕格式

如需按鈕屬性的完整清單,請參閱回傳按鈕參考資料

{
  "type": "postback",
  "title": "

通話按鈕

點按通話按鈕會撥打電話號碼。電話號碼的格式必須是 +<COUNTRY_CODE><PHONE_NUMBER>,例如:+15105559999

支援用法

下列項目支援使用通話按鈕:

  • 一般型範本
  • 清單範本
  • 按鈕範本
  • 影音素材範本

按鈕格式

如需按鈕屬性的完整清單,請參閱通話按鈕參考資料

{
  "type":"phone_number",
  "title":"

登入按鈕

登入按鈕用於帳號連結流程,可將訊息收件人導向至您的網站登入流程進行驗證,讓您能夠將訊息收件人的 Messenger 身分連結至他們在您網站上的帳號。

如需深入瞭解如何使用登入按鈕進行帳號連結,請參閱帳號連結

支援用法

下列項目支援使用登入按鈕:

  • 一般型範本
  • 清單範本
  • 按鈕範本
  • 影音素材範本

按鈕格式

如需按鈕屬性的完整清單,請參閱登入按鈕參考資料

{
  "type": "account_link",
  "url": "

登出按鈕

登出按鈕用於帳號連結流程,可將訊息收件人的 Messenger 身分取消連結至他們在您網站上的帳號。

如需深入瞭解如何使用登出按鈕取消帳號連結,請參閱帳號連結

支援用法

下列項目支援使用登出按鈕:

  • 一般型範本
  • 清單範本
  • 按鈕範本
  • 影音素材範本

按鈕格式

如需按鈕屬性的完整清單,請參閱登出按鈕參考資料

{
  "type": "account_unlink"
}

玩遊戲按鈕

玩遊戲按鈕會啟動與 Facebook 粉絲專頁連結的即時遊戲。若要自訂遊戲開啟的方式,您可以在啟動時會傳送至遊戲的要求中設定 payload 屬性,還可選擇設定 game_metadata.player_idgame_metadata.context_id 屬性,讓 Bot 可針對單一玩家或現有群組在特定情境中開始遊戲。

按鈕格式

payload 屬性必須是序列化 JSON。即時遊戲 SDK 會還原序列化。

如需按鈕屬性的完整清單,請參閱玩遊戲按鈕參考資料

{
  "type":"game_play",
  "title":"Play",
  "payload":"{<SERIALIZED_JSON_PAYLOAD>}",
  "game_metadata": { // Only one of the below
    "player_id": "<PLAYER_ID>",
    "context_id": "<CONTEXT_ID>"
  }
}

如需瞭解當用戶結束遊戲回合時會傳送至 Bot 的事件,請參閱玩遊戲 Webhook 事件

最佳作法

使用按鈕,透過特定訊息來提示後續行動或進一步的互動。

以動詞開頭,這有助於用戶瞭解正在採取什麼行動。

將網址按鈕用於您想要在網站上完成的工作(例如:購買、帳號連結等)。請清楚說明會將用戶導向 Messenger 以外的地方。

在用戶點按回呼按鈕之後傳送回應。這樣會確認您已處理或完成用戶的動作(例如:取消預約、回答問題)。

當按鈕的動作取決於 Bot 目前的狀態時,請勿使用按鈕,因為按鈕在對話串中永遠都可使用。

請勿使用超過 1-3 個字,或加入標點符號。請嘗試將文字保持在 20 個字元以下,包括空格在內。

請勿每個按鈕都使用網址按鈕。您越能在 Messenger 內打造更多的互動,您的體驗就越顯得一氣呵成。

請勿使用單一回呼按鈕。在只有一個按鈕可選擇的情況下,用戶通常會認為這是訊息文字的延續,而不會瞭解是您想要用戶採取的動作。